您的位置:首页 > 移动开发 > 微信开发

微信第三方登录集成

2016-05-20 15:33 453 查看
用的是友盟的第三方微信登录,集成的速度还可以

把你的应用子在友盟进行注册添加,可以获取到AppKey

下载安装SDK,里面有这两个,SocialSDK_WeiXin_1.jar,SocialSDK_WeiXin_2.jar ,添加进去

在清单文件中加入权限

<!-- ###################注册SDK使用的Activity###################### -->
<!--分享编辑页-->
<activity
android:name="com.umeng.socialize.view.ShareActivity"
android:configChanges="orientation|keyboard"
android:launchMode="singleTask"
android:noHistory="true"
android:theme="@style/Theme.UMDialog"
android:windowSoftInputMode="stateVisible|adjustResize" >
</activity>


<!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ -->
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID

-->
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.tencent.connect.common.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
</activity>

<!-- ###################添加UmengAppkey###################### -->
<meta-data
android:name="UMENG_APPKEY"
android:value="56a9c42d67e58e125f002093" >
</meta-data>


4.

// 首先在您的Activity中添加如下成员变量
final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login");
// 添加微信平台UMWXHandler wxHandler = new UMWXHandler(getActivity

(),appId,appSecret);wxHandler.addToSocialSDK();

//  这是在微信开发平台注册审核过后给的APP_ID  和  APP_SECRET
String appID = "wx967daebe835fbeac";
String appSecret = "5fa9e68ca3970e87a1f83e563c8dcbce";
// 添加微信平台
UMWXHandler wxHandler = new UMWXHandler(getActivity(),appId,appSecret);
wxHandler.addToSocialSDK();


5.在你的包中创建 com...wxapi 包,并创建WXEntryActivity这个类,友盟里面有,也可以直接复制,然后改包名就可以了。

在AndroidManifest.xml中下注册下面的回调Activity, 直接复制到Android manifest XML 即可,不需要进行修改

<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />


这个地方需要注意的是 com...wxapi 包 前面的 * 必须和清单中的包名一致。

6.授权登录

mController.doOauthVerify(mContext, SHARE_MEDIA.WEIXIN, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权错误", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权完成", Toast.LENGTH_SHORT).show();
//获取相关授权信息
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<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);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权取消", Toast.LENGTH_SHORT).show();
}
} );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: