安卓第三方登录集成
来源:互联网 发布:网络招标 编辑:程序博客网 时间:2024/04/29 18:13
转帖请注明本文出自weimeig的博客(http://blog.csdn.net/weimeig/article/details/78818085),请尊重他人的辛勤劳动成果,谢谢
ShareSDK集成
一、集成
二、第三方开发平台注册
三、项目中使用
一、集成
到mob.com下载ShareSDK,选择要集成的功能并下载,下载好后,解压,并点击QuickIntegrater.rar生成需要功能,得到Sample文件夹,生成时候记得填写项目包名才点击生成,不然会报错。
(1)将Sample文件夹的libs文件夹里的jar包复制到项目下的app文件夹下的libs文件夹内。
(2)res文件夹内的文件,不做任何改名更改,复制到项目下的app文件夹下的res文件夹内。
(3)将ShareSDK.xml文件复制到项目下的app文件夹下的src下的main文件夹下的assets文件夹中,如果没有这个文件夹则创建一个。
(4)将src文件夹内复制到项目下的app文件夹下的src下的main文件夹下的java文件夹中,与自己原包名项目并列。
(5)更改AndroidManifest.xml文件内应用权限,照着官方文档填写即可,或者下载本文提供的demo,从demo中复制AndroidManifest.xml文件内权限到自己的项目
( 6 )AndroidManifest.xml文件内设置您从Mob开发者后台中得到的Appkey和AppSecret,如
此时如果有地方报红,点击AndroidStudio上方工具栏里的BuiId下的Clean Project ,结束后点击RebuiId Project,然后再点击一下这个按钮,
原因是新引入的包需要同步一下,就不报红了。
集成完成。
二、第三方开发平台注册
如需要集成第三方登录是QQ、微信、微博。则分别到对应的第三方开放平台注册账号,如微信是微信第三方开放平台,在平台选择开启登录功能,然后填写完应用相关信息后,得到AppId和AppSecret将两者保存下来,一会第三步要用到。这里需要注意的是,平台填写的应用信息中,包名和应用签名,要和app对应。最后面附上怎么查看应用签名的方法。
特别注明:新浪微博的话,还需要在开放平台里选择回调接口地址,在开放平台应用信息附近找到OAuth2.0 授权设置编辑,设置微博回调地址。
比如官方默认的回调地址(默认的也可以使用):
授权回调页:http://sns.whalecloud.com/sina2/callback
取消授权回调页:http://sns.whalecloud.com/sina2/callback
三、项目中使用
(1)将你在第三方开发平台申请到的AppId和AppSecret填写到src下的main文件夹下的assets文件夹内的ShareSDK.xml文件中,替换掉mob提供的初始的。微博的话,还需要在这个文件里面的微博的配置里,设置RedirectUrl这个参数,微博官方默认的是
RedirectUrl="http://sns.whalecloud.com/sina2/callback"如果你申请开发平台时用了默认的,可以设置为这个
(2)第三方登录的方法
/** * 第三方登录方法 * Created by weimei on 2017/12/16. * Email:ucvs@qq.com */ private void thirdLogin(String platformName,final String backType) { Platform wechat = ShareSDK.getPlatform(platformName); wechat.SSOSetting(false); //设置false表示使用SSO授权方式 if(wechat.isAuthValid()){ wechat.removeAccount(true); } wechat.setPlatformActionListener(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { Log.d(TAG, "onComplete: "+i+new Gson().toJson(hashMap)); if (i == Platform.ACTION_USER_INFOR) { final PlatformDb platDB = platform.getDb();//获取数平台数据DB //通过DB获取各种数据 platDB.getToken(); platDB.getUserGender(); platDB.getUserIcon(); platDB.getUserId(); platDB.getUserName(); Log.d(TAG, "onComplete: "+ platDB.getToken()+"-"+ platDB.getUserId()+"-"+ platDB.getUserName()); runOnUiThread(new Runnable() { @Override public void run() { // platDB.getUserId()是唯一的 //这里写你的业务逻辑,如网络请求// mPresenter.trilateralLogin(backType,platDB.getUserId(),platDB.getUserName(),// platDB.getUserIcon(),platDB.getUserGender(),LoginActivity.this); } }); } } @Override public void onError(Platform platform, int i, Throwable throwable) { Log.d(TAG, "onError: "+throwable.toString()); } @Override public void onCancel(Platform platform, int i) { /** * 给用户取消的提示 */ } }); // 设置分享事件回调 wechat.authorize();//单独授权 wechat.showUser(null); }
然后在需要使用第三方登录的地方调用该方法即可
如果此时报红,则用第一步教的那个方法,同步一下,就不报红了。
此时
QQ调用时,如:
thirdLogin(QQ.NAME,"AndroidQQ");
微信调用时,如:
thirdLogin(Wechat.NAME,"AndroidWechat");微博调用时,如:
thirdLogin(SinaWeibo.NAME,"Androidweibo");其中第一个参数的,如:QQ.NAME,是第三方规定的,不可随意更改,第二个参数,是来源,如果你后台的url不需要这个参数,直接删除即可,同时也在thirdLogin方法里面删除即可。
附:查看应用签名的方法。
用密钥打包apk,打包的时候,选择生成release版本,切记不要生成debug版本。
然后安装到手机中。
同时安装下面提供的这个apk。打开这个apk,输入你的应用包名,点击生成,生成的这个就是你的安卓签名。
注意这个是要用你发布app的那个密钥去生成apk,并且输入的包名和你发布的app的包名一致,满足这两个要求前提下,才能生成一致的安卓签名。
安卓签名生成软件
http://download.csdn.net/download/weimeig/10161075
项目Demo下载
http://download.csdn.net/download/weimeig/10161093
- 安卓第三方登录集成
- 安卓集成第三方支付宝
- 安卓第三方分享集成
- 安卓集成第三方--使用ShareSdk实现登录和分享
- 安卓第三方分享和登录
- ShareSDK集成第三方登录
- 第三方登录集成步骤
- 集成QQ第三方登录
- 安卓集成SharedSDK第三方平台分享
- 安卓集成第三方.so的一些常见异常
- 安卓中用AndroidStudio集成第三方支付宝
- cocos2dx安卓第三方登录支付sdk接入
- 安卓_第三方QQ授权登录
- 安卓第三方QQ登录_限作者了解
- 安卓ShareSDK第三方登录与分享
- Android中FaceBook第三方登录集成
- iOS集成第三方登录的使用
- iOS集成ShareSKD第三方登录
- 使用Easy UI进行页面的简单布局
- 我想写什么样的代码
- 全差分运放浅析
- 单链表的创建,删除,插入,以及合并
- 【重大改革】吴恩达:孩子会识字后立马教她Python!
- 安卓第三方登录集成
- 只有21行的拼写检查器
- Android设计模式之23种设计模式一览
- ssl1377-竞赛真理【dp之分组背包】
- Mybatis-SpringMVC之Oracle驱动加载问题
- Ubuntu下为Python3安装numpy和scipy
- spring mvc中的@RequestMapping value用法小结
- Linux的crontab定时任务批量执行PHP脚本
- linux和windows的区别