700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 友盟QQ第三方登录分享

友盟QQ第三方登录分享

时间:2021-11-14 08:54:23

相关推荐

友盟QQ第三方登录分享

友盟QQ登录分享:

需要第三方jar包下载:/5PUfvYX

切记测试设备需安装QQ应用,以免尴尬。

效果图:

1、导入jar包到libs( 右击 add as library)

2、自定义类继承Application并重写onCreate()方法(记得清单文件注册.name)

引入该方法

UMConfigure.init(this,"5a12384aa40fa3551f0001d1","umeng",UMConfigure.DEVICE_TYPE_PHONE,"");PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");

实现图:记得在清单文件配置

3、清单文件配置即可

<!--权限--><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--"第三方配置"--><activityandroid: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" /><data android:scheme="tencent100424468" /></intent-filter></activity><activityandroid:name="com.mon.AssistActivity"android:configChanges="orientation|keyboardHidden|screenSize"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><meta-dataandroid:name="UMENG_APPKEY"android:value="5c07d385f1f556e5f90003c4"></meta-data>

4、写布局逻辑代码

step布局:

step代码:

/***注册监听*重写点击事件方法*/findViewById(R.id.qqlogin).setOnClickListener(this);findViewById(R.id.qqshare).setOnClickListener(this);@Overridepublic void onClick(View v) {switch (v.getId()) {/*** qq登录*/case R.id.qqlogin:UMShareAPI umShareAPI = UMShareAPI.get(MainActivity.this);/*** 登录授权监听*/umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, new UMAuthListener() {@Overridepublic void onStart(SHARE_MEDIA share_media) {}@Overridepublic void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();/*** 登录信息集合* Log.i("Tag",map+""); */String ion = map.get("profile_image_url");String name = map.get("screen_name");Toast.makeText(MainActivity.this, "昵称:" + name, Toast.LENGTH_SHORT).show();Toast.makeText(MainActivity.this, "头像:" + ion, Toast.LENGTH_SHORT).show();/** *ion_qq是图片控件,只是为了验证登录成功后获取到你的QQ头像 */Glide.with(MainActivity.this).load(s).into(ion_qq);}@Overridepublic void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {}@Overridepublic void onCancel(SHARE_MEDIA share_media, int i) {}});break;/*** qq分享* 分享监听*/case R.id.qqshare:UMShareListener umShareListener = new UMShareListener() {@Overridepublic void onStart(SHARE_MEDIA share_media) {}@Overridepublic void onResult(SHARE_MEDIA platform) {Log.d("plat", "platform" + platform);Toast.makeText(MainActivity.this, platform + " 分享成功啦", Toast.LENGTH_SHORT).show();}@Overridepublic void onError(SHARE_MEDIA platform, Throwable t) {Toast.makeText(MainActivity.this, platform + " 分享失败啦", Toast.LENGTH_SHORT).show();Log.i("xxx", "onError: " + t);}@Overridepublic void onCancel(SHARE_MEDIA platform) {Toast.makeText(MainActivity.this, platform + " 分享取消了", Toast.LENGTH_SHORT).show();}};/*** 友盟图片*/UMImage umImage = new UMImage(MainActivity.this, R.mipmap.ic_launcher);new ShareAction(MainActivity.this).setPlatform(SHARE_MEDIA.QQ)//传入平台.withMedia(umImage)//分享图片.setCallback(umShareListener)//回调监听器.share();break;}}

必须重写(如果用fragment的话,记得在依付的Activity里面重写就行,fragment不执行onActivityResult方法)

@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);UMShareAPI.get(MainActivity.this).onActivityResult(requestCode, resultCode, data);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。