Android实现使⽤登录第三⽅APP的⽅法
本⽂实例讲述了Android实现使⽤登录第三⽅APP的⽅法。分享给⼤家供⼤家参考,具体如下:
使⽤登录APP,免去注册过程,现在已经有很多的类似应⽤了。集成该功能过程不复杂,但还是有⼀些地⽅需要注意的。开始之前,需要做下⾯的准备⼯作。
1、到开放平台注册你的APP,并申请开通登录的权限。参考这⾥:
2、下载Android SDK和签名查看⼯具,请参考:
3、获取到APP的签名,并填写到开放平台。
下⾯开始进⼊主题:
引⼊登录相关SDK到项⽬的lib⽂件夹中,就⼀个⽂件:
libammsdk.jar
调⽤,申请⽤户授权:
//api注册
api = ateWXAPI(this, "APP_ID", true);
SendAuth.Req req = new SendAuth.Req();
//授权读取⽤户信息
req.scope = "snsapi_userinfo";
//⾃定义信息
req.state = "wechat_sdk_demo_test";
//向发送请求
api.sendReq(req);
将APP_ID替换成你在开放平台申请到的,上⾯的代码就可以调起了。
授权成功后,会返回⼀个code,下⾯介绍如何接收回传的信息。
安卓intent用法
在你的包名相应⽬录下新建⼀个wxapi⽬录,并在该wxapi⽬录下新增⼀个WXEntryActivity.java⽂件,输⼊类似下⾯的代码:package 你的包名.wxapi;
public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
@Override
public void onCreate(Bundle savedInstanceState) {
//注册API
api = ateWXAPI(this, "APP_ID");
api.handleIntent(getIntent(), this);
}
@Override
public void onResp(BaseResp resp) {
if(resp instanceof SendAuth.Resp){
SendAuth.Resp newResp = (SendAuth.Resp) resp;
//获取传回的code
String code = de;
}
}
}
在l中加⼊下⾯的代码:
复制代码代码如下:
<activity android:exported="true" android:launchMode="singleTop" android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.NoDisplay" />
修复WXEntryActivity中的错误,在onResp⽅法中获取到code,然后通过下⾯的接⼝获取到token和openid:
得到下⾯的数据:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
openid可以作为⽤户的唯⼀标识,将openid保存下来,就可以实现登录状态的检查了。
如果需要获取⽤户的信息,例如昵称,头像,可以使⽤下⾯的接⼝:
得到的数据为:
{
"openid":"OPENID",
"nickname":"NICKNAME",
"sex":1,
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "wx.qlogo/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", "privilege":[
"PRIVILEGE1",
"PRIVILEGE2"
],
"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
更多的接⼝使⽤,请参考:
可能的问题:
1、⽆法调起。
可能的原因是签名错误,请检查签名。
2、⽆法接受到回传的信息
可能的原因是没有把WXEntryActivity加⼊到l中。
PS:关于l⽂件相关属性功能可参考本站在线⼯具:
更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家Android程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。