微信授权登录接入需要先到微信开放平台申请好应用的APPID,交纳300大洋费用得到授权登录权限后才能使用,此处不再赘述。

接入的两种方式

-- 微信SDK接入:使用微信官方SDK接入,需要分“获取code票据”和“获取access_token”两步来获得授权关系接口的调用凭证

-- 友盟SDK接入:友盟已集成各种接口接入,直接一个方法搞定

本文记录使用友盟SDK接入微信授权登录中的几处关键代码,使用的是友盟SDK 6.1.1,最新版请到官网下载

最新版与旧版SDK用法有出入,官网文档也不是太完善,本文仅针对6.1.1版本在Eclipse工程接入记录

初始化SDK

最好在Android应用入口处初始化SDK

public class XXApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

UMShareAPI.get(this);

PlatformConfig.setWeixin(WX_APP_ID, WX_APP_SECRET);

}

}

创建WXEntryActivity

在应用包名下创建wxapi包,包内创建WXEntryActivity

例如应用包名为com.test.test,则创建com.test.test.wxapi.WXEntryActivity

public class WXEntryActivity extends WXCallbackActivity implements IWXAPIEventHandler {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}

}

AndroidManifest声明

在manifest文件上声明回调用到的WXEntryActivity,包名改成自己项目的包名。官网说这里一个字也不能改,试了试好像改一改也没关系的。。

android:name="com.test.test.wxapi.WXEntryActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation|screenSize"

android:exported="true"

android:screenOrientation="portrait" />

发送授权请求

public void requestAuth() {

this.runOnUiThread(new Runnable() {

@Override

public void run() {

UMShareAPI mShareAPI = UMShareAPI.get(this);

mShareAPI.getPlatformInfo(this, SHARE_MEDIA.WEIXIN, umAuthListener);

}

});

}

private UMAuthListener umAuthListener = new UMAuthListener() {

@Override

public void onComplete(SHARE_MEDIA platform, int action, Map data) {

System.out.println("AuthorizeSuccess");

for (String key : data.keySet()) {

System.out.println("Key = " + key);

}

for (String value : data.values()) {

System.out.println("Value = " + value);

}

this.runOnGlThread(new Runnable(){

@Override

public void run(){

//回调Lua

}

})

}

@Override

public void onError(SHARE_MEDIA platform, int action, Throwable t) {

Toast.makeText(this.getApplicationContext(), "Authorizefail", Toast.LENGTH_SHORT).show();

}

@Override

public void onCancel(SHARE_MEDIA platform, int action) {

Toast.makeText(this.getApplicationContext(), "Authorizecancel", Toast.LENGTH_SHORT).show();

}

};

注:

6.1.1版SDK的回调UMAuthListener没有onStart()函数,在后面的版本才有

上面的写法是用Lua调用Java,再回调Lua授权结果,发送请求时运行在Ui线程,回调时运行在Gl线程,如果是普通请求回调直接执行run函数内容即可

关于onActivityResult,官网说要重写,但6.1.1版SDK没有重写也可以成功调用

最后在登录所在的Activity里复写onActivityResult方法,注意不可在fragment中实现,如果在fragment中调用登录,在fragment依赖的Activity中实现,如果不实现onActivityResult方法,会导致登录或回调无法正常进行

onActivityResult代码如下

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);

}

android友盟微信授权登录清除,【转载】Android友盟SDK微信授权登录接入相关推荐

  1. Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能

    在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...

  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制

    在<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>中,我介绍了获取AccessToken(通用接口)的方法. 在实际的开发过程中,所有的高级接口都需 ...

  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler

    原文地址为: Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler 上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程( ...

  4. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试...

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  5. Android 项目必备(三十七)-->使用友盟集成 QQ、微信、微博等第三方分享与登录

    文章目录 效果图 实战 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的.为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟. 效果图 实战 ...

  6. Android微信登录在华为手机上无法调起授权界面的问题

    Android微信登录在华为手机上无法调起授权界面的问题 App集成了微信登录,在其他手机上微信登录都可以正常调起微信授权页面,并且登录成功,但是 在华为手机上调用微信登录,没报异常,也无法调起微信授 ...

  7. 使用友盟SDK实现新浪微博登录

    项目需求实现新浪微博登录,并实现文章对第三方平台的分享,使用友盟SDK实现以上功能,在实现的过程中,踩了一些坑,记录下来和大家分享一下. 友盟提供了SSO(免登录)以及非SSO的方式.所谓SSO的方式 ...

  8. Android集成微信SDK扫码登录功能

    最近做一个android项目,需求是登录页面加入微信二维码扫码登录入口(类似于PC端扫一扫登录),用户打开微信APP,扫描二维码,点击登录即可.当时也看了官网的相关介绍,确实踩了不少坑,写这个博客记录 ...

  9. Android平台以WebView方式集成H5+SDK和支付宝登录授权插件开发思路总结

    首先附上Demo地址,大家可以去GitHub上面下载https://github.com/GitLGH/AlipayDemo 一:思路总结 蚂蚁金融开发平台上面对于支付宝登录授权部分使用的原生andr ...

  10. 友盟集成微信分享,显示您的设备没有安装微信问题及解决办法

    问题描述: 友盟集成微信分享功能,当点击分享到微信好友和朋友圈时,提示:您的设备没有安装微信,但事实上我的手机上已经安装了微信. 解决办法: 查看官方文档:http://dev.umeng.com/s ...

最新文章

  1. [詹兴致矩阵论习题参考解答]习题1.3
  2. matlab波形振幅,MATLAB正交振幅调制解调仿真分析(一)
  3. 2019年中国教育信息化行业研究报告
  4. VMware支持客户构建多云未来
  5. xtwpro2编程器_xtw100编程器驱动
  6. WPF,Silverlight与XAML读书笔记第六 - WPF新概念之一逻辑树与可视树
  7. [翻译]CSS变量让你轻松制作响应式网页
  8. layuit 框架_UI框架Layui入门介绍
  9. 709. To Lower Case
  10. GWR4软件怎么用+结果解读+结果在ArcGIS中可视化
  11. 海店湾:劲爆!这款APP的横空出世,是美女们的福利还是潮流?
  12. 曲面上的测地线 MATLAB,§6曲面上的测地线.PDF
  13. graphpad数据小数点_Image J和Graphpad如何对Western Blot条带灰度分析【干货】 | 每日生物评论...
  14. 域控制器组策略:部署软件自动下发
  15. SQL Sever创库
  16. 客户端如何修改服务器时间设置在哪里看,客户端同步服务器时间设置在哪里
  17. 嵌入式系统开发期末复习
  18. Windows计算机操作系统基础知识点总结
  19. Apache JMeter压测工具
  20. R语言统计入门第四章描述性统计和图形——4.6表格的图形显示

热门文章

  1. 2019年CVTE实习心得
  2. android canvas添加文字居中,android Canvas drawText 文字居中
  3. 【Unity3D】人物跟随鼠标位置
  4. Win10 + GTX1650显卡 安装 Cuda-10.1 + CuDNN-7.6 + Tensorflow-gpu-1.15.0 一步到位
  5. C语言学习笔记之初识
  6. 两种图像骨架提取算法的研究原理及实现
  7. 遭遇盗取网络游戏帐号木马等
  8. JavaScript-常见数组内置方法
  9. mathtype公式减号变短格式重置调整
  10. SQL SERVER 软件和安装步骤