友盟第三方(微信)登录讲解


第三方微信登录,授权获取用户信息,总是回调不成功,解决了大半天,现在把步骤记录下来,方便下回再次使用


1.配置友盟的jar包

              上面两个是关于微信的jar包


2.Android中注册文件的配置

    权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

绑定友盟

<meta-data
    android:name="UMENG_APPKEY"                          
    android:value="57b。。。。。34e4" >      AppKey
</meta-data>

回调的文件WXEntryActivity,需要在注册文件中注册
<activity
    android:name=".wxapi.WXEntryActivity"            回调的文件,由友盟提供
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:exported="true"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
    android:name="com.umeng.socialize.editorpage.ShareActivity"
    android:excludeFromRecents="true"
    android:theme="@style/Theme.UMDefault" />

注意 WXEntryActivity 这个文件的路径,与当前项目的路径保持一致


3.准备调用

设置微信平台,第一个参数AppId,第二个参数AppSecret

PlatformConfig.setWeixin("wx71.......4779", "........97c7d448129");

声明
public UMShareAPI mShareAPI= UMShareAPI.get(this);

调取微信授权页面,第二个参数平台类型(是qq,微博还是其他),第三个参数回调方法

mShareAPI.doOauthVerify(MainActivity.this, SHARE_MEDIA.WEIXIN, new UMAuthListener() {
    @Override
    public void onComplete
(SHARE_MEDIA share_media, int i, Map<String, String> map) {
        Log.i("doOauthVerifyonComplete", map.toString());
        Toast.makeText(MainActivity.this, "onComplete", Toast.LENGTH_SHORT).show();

        mShareAPI.getPlatformInfo(MainActivity.this, share_media, new UMAuthListener() {}

 
doOauthVerify()是获取平台授权的方法

getPlatformInfo()方法是获取用户信息的方法在 
 
getPlatformInfo()方法放在doOauthVerify()方法的UMAuthListener的回调方法的onComplete()中进行调用
 
 
 
最主要的是包名一定与微信平台注册的相对应
 
    
这个包的名字与注册文件中的包名一定要对应,否则回调不成功
 
 
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值