第三方QQ登录和分享
首先导入第三方的jar包
<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.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_LOGS"tools:ignore="ProtectedPermissions"/>
<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"/>
配置第三方的你的应用注册的Key,替换Value,配置自定的Appliaction中的KeyID要和和清单文件的AuthActivity下的scheme="tencent???"保持一致
<meta-dataandroid:name="UMENG_APPKEY"android:value="573f0e9267e58e8e48001545"></meta-data><!-- 第三方配置的Activity信息--><activityandroid:name="com.umeng.qq.tencent.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"/><data android:scheme="tencent1106036236"/></intent-filter></activity><activityandroid:name="com.umeng.qq.tencent.AssistActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar"/></application>
复制所需要的第三方的资源
创建自定义Application初始化第三方的SDK
(注意:PlatformConfig.setQQZone中的账号和Key值需要注册这里用的是 腾讯开放平台)
public class MyApp extends Application {@Overridepublic void onCreate() {super.onCreate();//初始化UmengUMShareAPI.get(this);}{PlatformConfig.setQQZone("666666666","kdlajldjlajwdljklajljkwa");}}
MainActivity中的代码
private ImageView iv_login;private TextView tv_result;//A.定义装平台的容器public ArrayList<SnsPlatform> platforms = new ArrayList<SnsPlatform>();private SHARE_MEDIA[] list = {SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE};private UMShareAPI mUMShareAPI;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv_login = (ImageView) findViewById(R.id.iv_login);tv_result = (TextView) findViewById(R.id.tv_result);//A.三方平台,添加到遍历的集合中initPlatforms();//A.获取UM的对象mUMShareAPI = UMShareAPI.get(MainActivity.this);//A.获取是否授权final boolean isauth = UMShareAPI.get(this).isAuthorize(this, platforms.get(0).mPlatform);//A.点击QQ的头像,进行授权iv_login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (isauth){Toast.makeText(MainActivity.this, "授权成功", Toast.LENGTH_SHORT).show();mUMShareAPI.deleteOauth(MainActivity.this, platforms.get(0).mPlatform,authListener);}else{mUMShareAPI.doOauthVerify(MainActivity.this, platforms.get(0).mPlatform,authListener);}mUMShareAPI.getPlatformInfo(MainActivity.this, platforms.get(0).mPlatform,authListener);}});//B.分享的逻辑代码ImageView iv_share = (ImageView) findViewById(R.id.iv_share);final UMImage image = new UMImage(MainActivity.this, "http://b.hiphotos.baidu.com/zhidao/pic/item/63d9f2d3572c11df28e42e30602762d0f703c2e8.jpg");//网络图片final UMImage imagelocal = new UMImage(this, R.mipmap.ic_launcher);imagelocal.setThumb(new UMImage(this, R.mipmap.ic_launcher));imagelocal.setTitle("易宸锋好帅");iv_share.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new ShareAction(MainActivity.this).withMedia(image).setPlatform(platforms.get(0).mPlatform).setCallback(shareListener).share();new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.QQ).withText("hello").setCallback(shareListener).share();}});}//A.private void initPlatforms() {//A.集合清空platforms.clear();//A.通过for循环,把数组数据添加到集合中for (SHARE_MEDIA e : list) {if (!e.toString().equals(SHARE_MEDIA.GENERIC.toString())) {platforms.add(e.toSnsPlatform());}}}//A.UMAuthListener authListener = new UMAuthListener() {@Overridepublic void onStart(SHARE_MEDIA platform) {//授权开始的回调,可以用来处理等待框,或相关的文字提示}@Override//授权成功时回调public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {//获取用户授权后的信息Set<String> strings = data.keySet();data.get("profile_image_url");String temp="";for(String key: strings ){temp =temp +key +" :" +data.get(key) +"\n";}tv_result.setText(temp);}@Overridepublic void onError(SHARE_MEDIA platform, int action, Throwable t) {Toast.makeText(MainActivity.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();}@Overridepublic void onCancel(SHARE_MEDIA platform, int action) {Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();}};//A.@Overrideprotected void onActivityResult ( int requestCode, int resultCode, Intent data){super.onActivityResult(requestCode, resultCode, data);UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);}//B.分享的逻辑代码private UMShareListener shareListener = new UMShareListener() {@Overridepublic void onStart(SHARE_MEDIA platform) {}@Overridepublic void onResult(SHARE_MEDIA platform) {Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();}@Overridepublic void onError(SHARE_MEDIA platform, Throwable t) {Toast.makeText(MainActivity.this, "失败" + t.getMessage(), Toast.LENGTH_LONG).show();}@Overridepublic void onCancel(SHARE_MEDIA platform) {Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();}};
}
第三方QQ登录和分享相关推荐
- android qq第三方登录,Android调用第三方QQ登录代码分享
本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...
- Android第三方QQ登录、获取个人信息、分享实现
昨天调试了一下午终于成功 第三方QQ登录.获取个人信息,分享 QQ官方API文档写的太乱 并且很多地方没有更新 这里总结一下 方便记录和回看 实现结果图 首先进入腾讯开放平台 下载QQ的SDK 地址 ...
- 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字 ...
- Android接入第三方QQ登录
Android接入第三方QQ登录 前言 开始接入 1. 添加依赖 2.AndroidManifest.xml配置 3.初始化SDK 4.创建实例 5.实现回调 6. 调用QQ登录接口 7.获取用户信息 ...
- 关于Android如何集成QQ登录及分享
首先去友盟进行下载压缩包 然后使用友盟集成工具 将umeng_integratetool_result里的东西拷贝到工程中 新建一个app继承Application,去清单文件里面注册 在oncrea ...
- SpringBoot+Vue实现第三方QQ登录(一)
1. QQ登录介绍(测试网站:地址) QQ互联开放平台为第三方网站提供了丰富的API(官网地址: QQ互联官网首页).第三方网站接入QQ互联开放平台后,即可通过调用平台提供的API实现用户使用QQ帐号 ...
- android第三方QQ登录授权
项目中经常用到第三方登录,今天分享下如何用QQ登录 前面的准备工作就不说了,首先下载QQ登录的jar包,这个是腾讯开放平台可以去下载http://wiki.open.qq.com/wiki/mobil ...
- android登录操作代码,Android Studio实现第三方QQ登录操作代码
来看看效果图吧 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件And ...
- SpringBoot实现第三方QQ登录
SpringBoot实现第三方qq登录Demo 1,首先进入qq互联中应用管理去审核信息得到appID和appKEY 审核填写信息后: 等通过找到id 和key参数. 2,贴代码解释: (1)pom文 ...
最新文章
- 三维点云分割综述(上)
- python能开发手机程序吗_python能否开发安卓应用app?当然可以,python助你轻松搞定...
- JAVA标识符中含小数点可以吗_数值类型小数点后是否可以接零问题
- LINUX下载编译wabt(反编译wasm)
- 直播视频网站源码,延迟的几种方式
- CANFD MCP2517FD 滤波ID设置例子
- IDEA插件修改class文件
- 最全面的Android混淆
- 什么是TrustedInstaller管理权限?
- Linux查看公网IP和私网(内网)IP的方法
- 对堆区、栈区、全局静态区的理解
- 电脑c盘垃圾文件太多怎么办?这几个文件夹可以放心删
- 【ARMv8基础篇】NIC-400控制器简介
- async的waterfall
- 微信视频号封面怎么设置?怎么改?封面制作全教程,快来解锁!
- 国内五大抗DDoS服务
- PDN连接与默认 APN
- 在Elasticsearch使用URI花式搜索
- php实现腾讯云视频加密
- 步道乐跑怎么刷公里_步道乐跑怎么刷?