[android]ShareSDK——内容分享和短信验证
前言
新版本号ShareSDK的分享和短信验证,按官网的文档,都须要加入一个<Activity></Activity>标签,而分享和短息验证的这个标签内容都一样。会冲突。
解决的方法:分享用旧版本号,短信验证用新版本号。
后面会有解决的方法。
分享
导入project见初识ShareSDK——嵌入和登陆
<span style="font-size:24px;">OnekeyShare oks = new OnekeyShare();
//全部SSO都是针对新浪微博d
oks.disableSSOWhenAuthorize();
oks.setSilent(true);</span>
假设没有指定分享平台,则默认全部平台都会跳出。
oks.setPlatform(platformName);
一些须要注意的。凝视已经非常具体了。
//分享时Notification的图标和文字2.5.9以后的版本号不调用此方法
//oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,全部平台都须要这个字段
//有字数限制
oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此參数(假设本地没有,则后面的语句不会运行)
//oks.setImagePath("/sdcard/test.jpg");//确保SDcard以下存在此张图片
<span style="white-space:pre"> </span>//oks.setImageUrl("=");//网络路径 QQ空间有时候分享不成功(权限问题)
// url仅在微信(包含好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论。仅在人人网和QQ空间使用
oks.setComment("我是測试评论文本");
// site是分享此内容的站点名称,仅在QQ空间使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的站点地址,仅在QQ空间使用
oks.setSiteUrl("http://sharesdk.cn");
//设置经纬度(可依据定位获取)
//oks.setLatitude(latitude);
//oks.setLongitude(longitude); //启动分享GUI(图形用户界面)
oks.show(this);</span>
短信验证
。
官网下载SDK
将SMS目录下的SMSSDK文件复制到project里,作为library导入。
加入权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
加入代码调用:
SMSSDK.initSDK(this, APP_KEY, APP_SECRET);
RegisterPage page = new RegisterPage();
page.setRegisterCallback(new EventHandler(){
@Override
public void afterEvent(int event, int result, Object data) {
if(result == SMSSDK.RESULT_COMPLETE){
HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
String country = (String) phoneMap.get("country");
String phone = (String) phoneMap.get("phone");
// 提交用户信息,这种方法是获取了手机后。你想採取的操作。
//registerUser(country, phone);
System.out.println(country+phone);
}
} });
page.show(this);
自己定义短信验证界面
都是官网的文档
将private EventHandler eh;声明为全局。为了在Activity的onDestroy()里,对EventHandler注销验证SMSSDK.unregisterEventHandler(eh);
eh=new EventHandler(){ @Override
public void afterEvent(int event, int result, Object data) { if (result == SMSSDK.RESULT_COMPLETE) {
//回调完毕
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交验证码成功
System.out.println("成功。");
}else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
//获取验证码成功
System.out.println("获取验证码成功");
}else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
//返回支持发送验证码的国家列表
}
}else{
((Throwable)data).printStackTrace();
}
}
};
SMSSDK.registerEventHandler(eh); //注冊短信回调
为button加入监听事件:
//获取短信验证
btn_num.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!TextUtils.isEmpty(et_num.getText().toString())) {
SMSSDK.getVerificationCode("86", et_num.getText()
.toString());
}
}
});
//把短信里的验证码提交到server
btn_code.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
SMSSDK.submitVerificationCode("86",et_num.getText().toString(), et_code.getText().toString());
}
});
文档地址:无gui接口调用
ShareSDK新版本号短信验证和分享冲突解决
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
[android]ShareSDK——内容分享和短信验证的更多相关文章
- Android 利用内容观察者实现短信窃听
<Android 内容观察者的原理>中介绍了内容观察者的一些基本原理,并做了简单的实战,本文接着进一步做一个小项目实战 package com.wuyudong.smslistener; ...
- [APP] Android 开发笔记 006-使用短信验证SDK进行短信验证
1. 下载SDK (http://www.mob.com/#/download) SMS For Android Studio: http://www.mob.com/download/sms/and ...
- AndroidStudio短信验证功能收不到验证码
http://mob.com/第三方接口获取地址: 登陆过后点我的后台即可上传,管理应用.需注意的是,即使验证不通过,只要整合了短信验证的Jar包,每天都有20条免费验证短信.现在的mob.com只支 ...
- 【mob】Android短信验证+源码
在很多的应用当中,都涉及到了短信验证的功能,比如在注册或者找回密码的时候,那么我们如何通过第三方的平台来完成这个功能呢? 本面博文就实现短信验证,来做一个小的栗子. 第一步-下载开发包 第二步-将SD ...
- 完整的Android手机短信验证源码
短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台 1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...
- 『实践』Android之短信验证码(用的Mob短信验证)
1.参考资料 Mob网站:http://www.mob.com/ Mob在Github上的例子:https://github.com/MobClub/SMSSDK-for-Android 教程:htt ...
- Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)
用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...
- android短信验证
短信验证demo http://download.csdn.net/detail/crazy1235/8315279#comment 使用MOB平台开发,用法详见: http://blog.csdn. ...
- Mob.com 短信验证的简单使用
1.环境配置 http://wiki.sharesdk.cn/android-短信sdk集成文档/ a.sdk下载 http://www.mob.com/#/downloadDetail/SMS/an ...
随机推荐
- json字符串与java对象的相互转换(jackson)
1.java对象转换为json字符串 package com.chichung.json; import com.fasterxml.jackson.core.JsonProcessingExcept ...
- nginx重写链接
location ~ /send.redir { if ( $query_string ~ “url=(?<path>.+)” ) {rewrite ^.* htt ...
- 利用sql server直接创建日历
看到网上有高手直接用sql查询创建日历,也想自己动手实践一遍.笔者这里的实现和网上的都没有什么区别,思路也没有什么新意.觉得好玩,就把它记下来吧. 一.准备知识1.sql的with关键字关于with和 ...
- SQL SERVER2008 镜像全攻略
--在非域控环境中创建数据库镜像, 我们必须使用证书来创建数据库镜像. 大致的步骤包括: --在为数据库镜像配置的每个服务器实例上执行下列步骤: --在 master 数据库中,创建数据库主密钥. - ...
- sass问题
用sass的minix定义一些代码片段,且可传参数 /** * @module 功能 * @description 生成全屏方法 * @method fullscreen * @version 1. ...
- CCF CSP 201612-3 权限查询
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201612-3 权限查询 问题描述 授权 (authorization) 是各类业务系统不可缺 ...
- GUC-13 生产者消费者案例
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.uti ...
- USACO 完结的一些感想
其实日期没有那么近啦……只是我偶尔还点进去造成的,导致我没有每一章刷完的纪念日了 但是全刷完是今天啦 讲真,题很锻炼思维能力,USACO保持着一贯猎奇的题目描述,以及尽量不用高级算法就完成的题解……例 ...
- forms.ModelForm 与 forms.Form
1. 首先 两者都是forms里的常用类. 2. 这两个类在应用上是有区别的.一般情况下,如果要将表单中的数据写入数据库或者修改某些记录的值,就要让表单类继承ModelForm; 如果提交表单后 不会 ...
- 洛谷 P3071 [USACO13JAN]座位Seating-线段树区间合并(判断找,只需要最大前缀和最大后缀)+分治+贪心
P3071 [USACO13JAN]座位Seating 题目描述 To earn some extra money, the cows have opened a restaurant in thei ...