[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 ...
随机推荐
- hihoCoder #1183 : 连通性一·割边与割点(求割边与各点模板)
#1183 : 连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢 ...
- MySQL学习笔记:set autocommit=0和start transaction
在MySQL中,接触事务的例子比较少,今晚在一个简单的存储过程中,循环插入50000条id数据的时候,得知必须开事务,如果逐提交数据,将会导致速度异常的慢. SET autocommit = 0; ...
- HttpService与WebService的差异
httpservice通过post和get得到你想要的东西webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型 当你要调用一个你本服务的内容的 ...
- 【PAT】1017 A除以B(20 分)
1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- mac系统编译安装ImageMagick7.0.1-3
1.下载源码包: git clone http://git.imagemagick.org/repos/ImageMagick.git 2.编译安装: cd ImageMagick/ ./config ...
- SPOJ - SUBLEX 后缀自动机
SPOJ - SUBLEX 思路:求第k大字串,求出sam上每个节点开始能识别多少字串,然后从起点开始跑就好啦. #include<bits/stdc++.h> #define LL lo ...
- mysql 解除正在死锁的状态
转自:http://blog.csdn.net/hotdust/article/details/51524469 from: http://www.2cto.com/database/201303/1 ...
- BZOJ2152 [国家集训队] 聪聪可可 [点分治]
题目传送门 聪聪可可 Time Limit: 3 Sec Memory Limit: 259 MBSubmit: 5237 Solved: 2750[Submit][Status][Discuss ...
- Python 入门之基本数据类型
为什么我要学习Python这门语言呢?其实很简单,我想拓展技术面的同时,尝试更多的方向,可能最后会不了了之,谁知道呢?有可能的话,我会向爬虫和数据分析这个方向走.所以也就开始了我的Python学习之旅 ...
- iOS 11开发教程(七)编写第一个iOS11代码Hello,World
iOS 11开发教程(七)编写第一个iOS11代码Hello,World 代码就是用来实现某一特定的功能,而用计算机语言编写的命令序列的集合.现在就来通过代码在文本框中实现显示“Hello,World ...