android 微信登录
来源:互联网 发布:java时间戳计算 编辑:程序博客网 时间:2024/04/27 22:01
1、友盟第三方平台注册,androidmainfest添加appkey
<meta-data android:name="UMENG_APPKEY" android:value="56a5848f67e58e51a400021a"/>2、添加相关的库
3.代码
UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login");
private String AppID = "wx121e78a98dc358f0";private String AppSecret = "18e1d3ff5a2851036d33838c4412d913";
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_login); addWXPlatform();}
/** * @return * @功能描述 : 添加微信平台授权登录 */
private void addWXPlatform() { // 注意:在微信授权的时候,必须传递appSecret mController = UMServiceFactory.getUMSocialService("com.umeng.login"); // 添加微信平台,APP_ID、APP_SECRET都是在微信开放平台,移动应用通过审核后获取到的 UMWXHandler wxHandler = new UMWXHandler(NewLoginActivity.this, AppID, AppSecret); if(wxHandler.isClientInstalled()){ wxHandler.setRefreshTokenAvailable(false); wxHandler.addToSocialSDK(); }else{ Toast.makeText(NewLoginActivity.this, "请先安装微信客户端", Toast.LENGTH_SHORT).show(); }}case R.id.iv_wxLogin: login(SHARE_MEDIA.WEIXIN); break;case R.id.exit: logout(SHARE_MEDIA.WEIXIN);/** * 授权。如果授权成功,则获取用户信息 * * @param platform */private void login(final SHARE_MEDIA platform) { mController.doOauthVerify(NewLoginActivity.this, platform, new SocializeListeners.UMAuthListener() { @Override public void onStart(SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权开始", Toast.LENGTH_SHORT).show(); } @Override public void onError(SocializeException e, SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权失败", Toast.LENGTH_SHORT).show(); } @Override public void onComplete(Bundle value, SHARE_MEDIA platform) { // 获取uid String uid = value.getString("uid"); Log.e("uid", uid); if (!TextUtils.isEmpty(uid)) { // uid不为空,获取用户信息 getUserInfo(platform); } else { Toast.makeText(NewLoginActivity.this, "授权失败...", Toast.LENGTH_LONG).show(); } } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权取消", Toast.LENGTH_SHORT).show(); } });}/** * 获取用户信息 * * @param platform */private void getUserInfo(SHARE_MEDIA platform) { mController.getPlatformInfo(NewLoginActivity.this, platform, new SocializeListeners.UMDataListener() { @Override public void onStart() { } @Override public void onComplete(int status, Map<String, Object> info) { if (info != null) { String nickname = (String) info.get("nickname"); String openid = (String) info.get("openid"); Log.e("openid", openid); String headimgurl = (String) info.get("headimgurl"); mSp.edit().putBoolean("isWxLogin", true).commit(); mSp.edit().putString("nickname", nickname).commit(); mSp.edit().putString("openid", openid).commit(); mSp.edit().putString("headimgurl", headimgurl).commit(); Intent intent = new Intent(NewLoginActivity.this, IndexActivity.class); startActivity(intent); finish(); } } });}/** * 注销本次登陆 * @param platform */ private void logout(final SHARE_MEDIA platform) { mController.deleteOauth(NewLoginActivity.this, platform, new SocializeListeners.SocializeClientListener() { @Override public void onStart() { } @Override public void onComplete(int status, SocializeEntity entity) { mSp.edit().putString("nickname", "").commit(); mSp.edit().putBoolean("isWxLogin", false).commit(); mSp.edit().putString("headimgurl", "").commit(); mSp.edit().putString("openid", "").commit(); Intent intent = new Intent(NewLoginActivity.this,IndexActivity.class); startActivity(intent); finish();// if (status != StatusCode.ST_CODE_SUCCESSED) {// Toast.makeText(LoginActivity.this, "退出失败", Toast.LENGTH_SHORT).show();// } // Toast.makeText(LoginActivity.this, "退出当前账号", Toast.LENGTH_SHORT).show(); } }); }
0 0
- android 微信登录
- android 微信登录
- android 微信登录
- Android微信登录
- Android 微信登录
- Android微信登录
- Android第三方登录--微信登录
- android微信登录,分享
- android 微博 微信登录
- Android微信登录接入
- Android 实现微信登录
- Android 微信授权登录
- Android微信第三方登录接入
- Android 微信第三方App登录
- Android 微信 支付 登录 注意问题
- 微信第三方登录Android实现
- 一起学android之微信登录
- android 微信登录 2016-01-08
- HDOJ 1007-Quoit Design【模板:多点求最短距离(非整数点)】
- ACM 数论 hdu 1395 2^x mod n = 1
- 【转载】ABAP开发顾问必备:SAP ABAP开发技术总结 BY SAP师太
- 按钮点击,图片改变,显示点击效果
- Docker部署Rancher Server-centos7
- android 微信登录
- 使用Genymotion安装APK出现错误Failure [INSTALL_FAILED_NO_MATCHING_ABIS]的解决办法
- <DP> 计蒜客 20
- python3在用pip装lxml模块遇到的问题
- iOS 常用第三方开源框架介绍
- 计算机图形学(二)输出图元_10_多边形填充区_3_内-外测试
- 剑指offer之面试题28字符串的排列
- thrift系列 - harpc 基于thrift的轻量级rpc框架
- 绝对路径与相对路径