QQ的第三方授权和取消第三方授权
来源:互联网 发布:问道手游秒公示软件 编辑:程序博客网 时间:2024/04/28 12:24
1:简介
QQ的第三方授权加分享我们需要导入的依赖包在友盟官方的SDK上可以看文档本地依赖包的路径:E:\shixun1\实现登录分享的依赖;里面有QQ分享、QQ登录、微信分享、微博分享、新浪分享、QQ空间分享、微信朋友圈分享,导入这么多依赖后libs里面关联我们的项目;
首先我们说下我们要去第三方授权方面的代码如下:
1:我们先在AndroidManifest.XML里面加入以下代码:
<activity android:name="com.umeng.qq.tencent.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize"/> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent59658f6975ca350d6f000ab7" /> </intent-filter> <!-- 微信 --> <activity android:name=".merchant.wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- 新浪 --> <activity android:name=".merchant.WBShareActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait"> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser" android:configChanges="keyboardHidden|orientation" android:exported="false" android:windowSoftInputMode="adjustResize" /> <!-- 忽略 --> <service android:name="com.sina.weibo.sdk.net.DownloadService" android:exported="false" /> <meta-data android:name="UMENG_APPKEY" android:value="5850efdf07fe653307001138" /> <meta-data android:name="UMENG_CHANNEL" android:value="Umeng" /> ``` 2:添加的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.READ_LOGS" /><uses-permission android:name="android.permission.CALL_PHONE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.GET_TASKS" /><!-- QQ、QQ空间所需权限 --><uses-permission android:name="android.permission.SET_DEBUG_APP" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
3:我们在Application配置的代码如下onCreate方法里面代码如下:
@Override
public void onCreate() {
super.onCreate();
PlatformConfig.setWeixin(“wxe3496727fd8b796b”, “8691bea51b96f3eb4e7cd76fbd52a30d”);
//新浪
PlatformConfig.setSinaWeibo(“1170673459”, “9ca72cbce28e178be6f67675862d2545”,”http://www.wandoujia.com/apps/com.eico.weico“);
//qq qqzone
PlatformConfig.setQQZone(“1105886048”, “mC1QPuxkWOrX99ug”);
UMShareAPI.get(this);
}
4:我们在代码中点击控件授权登录调用的时候代码如下:
UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.QQ,mUmAuthListener);
5:调用的接口代码如下:
UMAuthListener mUmAuthListener = new UMAuthListener() {
public void onStart(SHARE_MEDIA platform) { //授权开始的回调 } @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { //得到qq授权后的名字 String name = data.get("screen_name");
// 得到头像的URL
String profile_image_url = data.get(“profile_image_url”);
// 调用sp的工具类把得到的名字和图片的url存到里面在存一个登录状态
SPUtils.put(LoginpageActivity.this,”QQname”,name);
SPUtils.put(LoginpageActivity.this,”QQimguri”,profile_image_url);
SPUtils.put(LoginpageActivity.this,”QQstate”,true);
startActivity(new Intent(LoginpageActivity.this,HomeActivity.class));
finish();
}
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(LoginpageActivity.this, “授权失败”, Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(LoginpageActivity.this, “授权取消”, Toast.LENGTH_SHORT).show();
}
};
6:在加上回调的方法如下:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);}
二:以上是授权登录的代码,下面我们说下取消授权的方法: 1:直接在我们点击的控件的时候调用接口:
boolean qQstate = (boolean) SPUtils.get(MyMessageActivity.this, “QQstate”, false);
if(qQstate){
SPUtils.remove(MyMessageActivity.this,”QQname”);
SPUtils.remove(MyMessageActivity.this,”QQimguri”);
SPUtils.remove(MyMessageActivity.this,”QQstate”);
mShareAPI.deleteOauth(MyMessageActivity.this, SHARE_MEDIA.QQ, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
Toast.makeText(MyMessageActivity.this,”333”,Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA share_media, int i, Map
上面我们是存到SharedPreferences里面的数据对boolean值进行判断如果是true的话清除,false的话就直接吐司一句话; 2:别忘了onActivityResult的方法代码如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
“`
总结:以上为借助友盟实现的QQ授权登录和取消授权的方法;如有不明白的可以留言,有不明白的朋友可以加我QQ939986850联系或者关注的我的公众号更多惊喜!!!
- QQ的第三方授权和取消第三方授权
- 第三方QQ授权登录
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- 基于第三方QQ授权登录和新浪微博授权登录的iOS代码分析
- 简单的第三方授权
- iOS 基于第三方QQ授权登录
- 基于第三方QQ授权登录
- 基于第三方QQ授权登录
- Android第三方QQ登录无限授权
- 实现app第三方QQ授权登录
- 基于第三方QQ授权登录
- 第三方授权登陆(QQ)
- QQ第三方登录授权错误代码
- 第三方登录QQ完整版,授权登录
- android第三方QQ登录授权
- C#QQ第三方授权登录
- ShareSDK for Android > 第三方登录 > 授权与取消授权
- C# 抽象类 虚方法 抽象方法
- java编程重点笔记
- 关于统一品牌的水趣多饮品的感受
- CC清理器中文版下载 5.32绿色版 32/64位
- is-a has-a
- QQ的第三方授权和取消第三方授权
- centos7网络配置错误总结
- 福建省 第七届ACM程序设计大赛(待补)
- android 获取屏幕的宽高
- 2 Docker 核心概念
- Web自动化测试二:selenium打开和登录浏览器(火狐、IE、chrome)
- Android Studio调试smali代码
- 又是一个晴朗的早晨
- Markdown语法