[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 ...
随机推荐
- python图片处理(一)
在matlab中有相应的图像进行二值化处理,并且标记连通区域 L = bwlabel(BW,n) 返回一个和BW大小相同的L矩阵,包含了标记连BW中每个连通区域的类别标签,标签的值是1.2.num(连 ...
- 使用T-SQL导入多个文件数据到SQL Server中
在我们的工作中,经常需要连续输入多个文件的数据到SQL Server的表中,有时需要从相同或者不同的目录中,同时将文件中的数据倒入.在这篇文章中,我们将讨论如何同时把一个目录中的文件的数据倒入到SQL ...
- MP3 Fuzz学习
这篇文章主要是学习一波MP3格式fuzz的知识.目录如下 0x0.MP3格式的构成 0x0.MP3格式的构成 MP3是一种通俗叫法,学名叫MPEG1 Layer-3.MP3是三段式的结构,依次由ID3 ...
- INNODB表快速迁移
本实验在一台server上启动了2个mysql实例端口分别是3307 3308,目的是将3307的表aaa迁移到3308中去,并打开3308的slave 1.在3308上 mysql> dr ...
- 2017-2018 ACM-ICPC, NEERC, Moscow Subregional Contest B - Byteland Trip dp
B - Byteland Trip 题目大意:给你一个由'<' 和 '>'组成的串, 如果在'<' 只能前往编号比它小的任意点, 反之只能前往比它大的任意点,问你能遍历所有点 并且每 ...
- hdu 5936 2016ccpc 杭州 - D
数学题好难啊!!!! 最长长度不超过十位, 折半枚举... 题解 #include<bits/stdc++.h> #define LL long long #define fi first ...
- 002 python语法入门
一:基本数据类型知识点 1.基本数据类型 Number 数字 String 字符串 Bool 布尔 List 列表 Tuple 元组 Set 集合 Dictionary字典 2.分类 )标准的pyth ...
- jquery 查询IP归属地
<script src="http://c.csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type=&q ...
- C++雾中风景5:Explicit's better than implicit.聊聊Explicit.
关于Explicit还是Implicit一直是编程语言中能让程序员们干起架的争议.那些聪明的老鸟总是觉得Implicit的规则让他们能够一目十行,减少样板代码的羁绊.而很多时候,Implicit的很多 ...
- 在控制台连接oracle
Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\lijt>sqlplus ...