友盟 微信登录

从网站: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
/ / wx 967 daebe 835 fbeac是你在微信开发平台注册应用的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, new UMAuthListener() {
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
}
@Override
public void 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
public void onCancel(SHARE_MEDIA platform) {}
@Override
public void 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
public void onStart() {
Toast.makeText(MainActivity. this , "获取平台数据开始..." , Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete( int status, Map info) {
if (status == 200 && info != null ){
StringBuilder sb = new StringBuilder();
Set 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
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
public void onStart() {
}
@Override
public void 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();
}
}
};

你可能感兴趣的:(JAVA.安卓,工具相关)