友盟QQ登录集成:
1.拷贝demo中的libs文件夹和res文件夹;
右击 add as library
2.Application添加如下代码:
UMConfigure.init(this,“5c089159b465f59767000066”,“小米”,UMConfigure.DEVICE_TYPE_PHONE,"");
/**
- 设置组件化的Log开关
- 参数: boolean 默认为false,如需查看LOG设置为true
*/
UMConfigure.setLogEnabled(true);
PlatformConfig.setQQZone(“100424468”, “c7394704798a158208a74ab60104f0ba”);
3.AndroidManifest.xml清单文件里面增加:
<application
android:name=“com.dingtao.logindemo.core.DTApplication”
---------------------------
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100424468" />
</intent-filter>
----------------------- 4.activity中先申请权限,然后重写onActivtyResult和onRequestPermissionsResult ----------------------- if(Build.VERSION.SDK_INT>=23){//QQ需要申请写入权限 String[] mPermissionList = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CALL_PHONE,Manifest.permission.READ_LOGS,Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.SET_DEBUG_APP,Manifest.permission.SYSTEM_ALERT_WINDOW,Manifest.permission.GET_ACCOUNTS,Manifest.permission.WRITE_APN_SETTINGS}; ActivityCompat.requestPermissions(this,mPermissionList,123); } ------------------------------------ @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode==123){ UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.QQ, authListener); } } ------------------------------------- @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } --------------------------------------
简单介绍OAuth认证
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
OAuth
允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。
练习:集成友盟,参考文档完成登陆和分享功能,(微信账号,包名/签名(application,buildgradle,manifest内修改成统一的,删掉build文件,重新编译打包)都有
作业:day10的登陆也基础上,添加第三方登陆,进入后添加分享功能