Android基于友盟的第三方登陆
来源:互联网 发布:mmd虎视眈眈动作数据 编辑:程序博客网 时间:2024/06/05 13:26
1:申请,申请,申请
Android任何第三方的东西都要在其官网注册id,创建应用并获取key。这里也就同样了。不过申请都是比较简单的,每个官网都有自己的申请方式以及文档说明,这里就不啰嗦了。
主要是讲讲这里的第三方登陆需要注意的点:(这里只介绍qq的第三方登陆,其它的基本类似)
在qq互联官网注册http://op.open.qq.com/的应用名称和在友盟http://www.umeng.com/上注册的应用名称要相同
2:配置和使用
什么都有了,那么现在进行配置与使用。官方demo上有具体例子,但还是那种综合性较大的,看起来的话就有点吃力,不过我还是啃了好一会,对照官方文档http://dev.umeng.com/social/android/android-update?spm=0.0.0.0.8Wq2p1也算是基本搞定。
其实真的不复杂:
1:导入资源文件,清单文件配置
2:初始化
资源文件导入:
jar包的导入:
列表内容
这里写图片描述
下载官方的资源http://dev.umeng.com/social/android/sdk-download,找到适合自己的版本,选择最新的就可以了。可以勾选下载自己想要的其它组件。
下载解压后,找到上图中的四个jar包,因为是只是介绍qq的第三方,所以就只导入了qq的jar包和友盟的基础包,导入添加依赖。
同时将解压目录下main文件夹下的res文件夹拷贝至项目,可以直接复制到项目中的res(不会覆盖,即只是添加没有的东西至项目,原本的东西不会删除)
然后,配置清单文件:
这里直接拿上我参考官方配置好的xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="包名,系统自己会写好" > <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.INTERNET" /> <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" /> <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" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" //这里要写好自己的App,官方解释是加载第三方的登录,如加载qq登录,后面会有我的App代码 android:name=".App" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> //必须要,友盟的activity <activity android:name="com.umeng.socialize.editorpage.ShareActivity" android:theme="@style/Theme.UMDefault" android:excludeFromRecents="true"/> //友盟中申请的appkey <meta-data android:name="UMENG_APPKEY" android:value="友盟中申请的appkey" > </meta-data> //qq官方申请的key的配置 <activity android: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" /> //注意,这里的tencent不能省略 <data android:scheme="tencent“你的key”" /> </intent-filter> </activity> //要 <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> </application></manifest>
清单文件就配置好了,
新建App 继承Application:
/**
* Created by Administrator on 2016/6/1.
* 这里完成对第三方登陆的初始化,记得要在清单文件中的主activity中配置
*/
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
// QQ和Qzone appid + appkey
PlatformConfig.setQQZone(“1105366393”, “dAFotYfKXT27RGiY”);
}}
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button qq;private UMShareAPI mShareAPI = null;private SHARE_MEDIA platform = null;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mShareAPI = UMShareAPI.get( this ); qq = (Button) findViewById(R.id.qq); qq.setOnClickListener(this);}@Overridepublic void onClick(View v) { int id = v.getId(); switch (id){ case R.id.qq: platform = SHARE_MEDIA.QQ; break; } mShareAPI.doOauthVerify(MainActivity.this, platform, umAuthListener);}private UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) { //回调成功,即登陆成功后这里返回Map<String, String> map,map里面就是用户的信息,可以拿出来使用了 Toast.makeText(getApplicationContext(), "授权成功", Toast.LENGTH_SHORT).show(); if (map!=null){ Log.d("auth callbacl","getting data"); Toast.makeText(getApplicationContext(), map.toString(), Toast.LENGTH_SHORT).show(); } } @Override public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) { Toast.makeText( getApplicationContext(), "授权失败", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA share_media, int i) { Toast.makeText( getApplicationContext(), "授权取消", Toast.LENGTH_SHORT).show(); }};
//记得要重写这个方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
}
- Android基于友盟的第三方登陆
- Android基于友盟的第三方登陆
- 友盟第三方登陆
- 友盟第三方登陆
- 实现android的 google第三方登陆!
- 实现android的 google第三方登陆
- android QQ 第三方登陆
- 基于Spring的Github第三方登录--通用化的第三方登陆实现
- 基于Spring的Github第三方登录--通用化的第三方登陆实现
- iOS友盟第三方登陆开发
- iOS友盟第三方登陆开发
- 友盟第三方qq登陆
- 第三方登陆的实现
- 第三方登陆的流程图
- 基于友盟的第三方社会化分享:
- 获取资源ID失败--android使用友盟第三方登陆错误解决
- android 微博第三方登陆接入
- Android端 第三方qq登陆
- 使用JAXB实现JAVA解析XML (节点大小写和属性的互相转换实例
- jquery延时执行代码
- 我们采访了阿里云云数据库SQL Server的产品经理_他说了解这四个问题就可以了
- java opencv 实现换脸
- fast rcnn 训练自己的数据集(训练和检测)
- Android基于友盟的第三方登陆
- 缓存穿透和缓存失效的预防和解决
- Idea使用阿里编码规约插件无效问题
- 虽然不简单但还是要学的JavaWeb—MyBatis
- 第一篇博客-我很懒,但我会慢慢学
- 当梵高遇到上专有云-神经网络作画
- 硬币问题
- JNI源码分析(并实现JNI动态注册)
- 面试宝典(PART VI) 各种各样的指针