友盟 微信登录

来源:互联网 发布:360软件小助手不见了 编辑:程序博客网 时间:2024/04/28 18:23

从网站:http://bbs.umeng.com/forum.php?mod=viewthread&tid=5498&highlight=%E5%BE%AE%E4%BF%A1%E6%8E%88%E6%9D%83 整理而来。

android 微信登录实现方法
添加

[AppleScript] 纯文本查看 复制代码
?
1
2
3
4
5
6
// wx967daebe835fbeac是你在微信开发平台注册应用的AppID,这里需要替换成你注册的AppID
String appID = "wx967daebe835fbeac";
String appSecret ="5fa9e68ca3970e87a1f83e563c8dcbce";
// 添加微信平台
UMWXHandler wxHandler =new UMWXHandler(getActivity(),appId,appSecret);
wxHandler.addToSocialSDK();


在微信登录按钮中实现下面的方法,点击按钮则弹出微信登录页面

[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
mController.doOauthVerify(MainActivity.this, SHARE_MEDIA.WEIXIN,newUMAuthListener() {
@Override
publicvoid onError(SocializeException e, SHARE_MEDIA platform) {
}
@Override
publicvoid onComplete(Bundle value, SHARE_MEDIA platform) {
if(value != null && !TextUtils.isEmpty(value.getString("uid"))) {
Toast.makeText(MainActivity.this,"授权成功.", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this,"授权失败", Toast.LENGTH_SHORT).show();
}
}
@Override
publicvoid onCancel(SHARE_MEDIA platform) {}
@Override
publicvoid onStart(SHARE_MEDIA platform) {}
});



获取已授权平台的用户信息,accesstoken等信息
[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
mController.getPlatformInfo(MainActivity.this, SHARE_MEDIA.WEIXIN,new UMDataListener() {
@Override
publicvoid onStart() {
Toast.makeText(MainActivity.this,"获取平台数据开始...", Toast.LENGTH_SHORT).show();
}
@Override
publicvoid onComplete(intstatus, Map<String, Object> info) {
if(status ==200 && info != null){
StringBuilder sb =new StringBuilder();
Set<String> keys = info.keySet();
for(String key : keys){
sb.append(key+"="+info.get(key).toString()+"\r\n");
}
Log.d("TestData",sb.toString());
}else{
Log.d("TestData","发生错误:"+status);
}
}
});

注意:微信登录非常严格,比分享有过之而无不及,打包,签名,回调,权限申请缺一不可
1.要取得微信登陆权限
2.要打包测试
3.要打包生成apk,再生成签名填写回微信开放平台
4.加好上面的授权代码
5.微信的回调一定要保证路径没有错
activity里内容和我们文档要求一致(绝不可以私自改动)
做好以上几点才行
回调
在AndroidManifest.xml中下注册下面的回调Activity, 直接复制到Android manifest XML 即可,千万不要进行修改
[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"/>

将SDK包weixin目录下的wxapi文件夹拷贝到您的工程的包目录下, 然后修改WXEntryActivity的完整路径即可。 例如social_sdk_example的包名为com.umeng.soexample,因此将wxapi文件夹拷贝到com.umeng.soexample下,最终WXEntryActivity的 完整路径为com.umeng.soexample.wxapi.WXEntryActivity。
注册微信回调代码:
[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
mSnsPostListener =new SnsPostListener() {
@Override
publicvoid onStart() {
}
@Override
publicvoid onComplete(SHARE_MEDIA platform,int stCode,
SocializeEntity entity) {
if(stCode == 200) {
Toast.makeText(MainActivity.this,"分享成功", Toast.LENGTH_SHORT)
.show();
}else {
Toast.makeText(MainActivity.this,
"分享失败 : error code : "+ stCode, Toast.LENGTH_SHORT)
.show();
}
}
};

0 0
原创粉丝点击