1、阿里云一键登录文档:
Android客户端接入 - 号码认证服务 - 阿里云https://help.aliyun.com/document_detail/144231.html2、以下是我的工具、环境
3、 去控制台下载Demo加压后得到如下内容
4、复制上面文件到项目libs下
5、在项目build.gradle(:app)文件中引入
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
6、在proguard-rules.pro文件处理混淆
-keep public class R.drawable.authsdk*
-keep public class R.layout.authsdk*
-keep public class R.anim.authsdk*
-keep public class R.id.authsdk*
-keep public class R.string.authsdk*
-keep public class R.style.authsdk*
-keep class org.json.** {
*;
}
7、在AndroidManifest.xml文件处理权限
<uses-permission android:name="android.permission.INTERNET" /> <!-- 网络访问 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 检查wifi网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 检查网络状态 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 切换网络通道 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- 本地信息缓存 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 开关Wi-Fi状态,解决国内机型移动网络权限问题需要 -->
8、给Application节点增加usesCleartextTraffic配置
<application
android:name=".DemoApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
9、一些Activity设置
<activity
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|fontScale"
android:name=".tools.onekey.OneKeyLoginActivity"
android:screenOrientation="sensorPortrait"/>
<activity
android:configChanges="orientation|keyboardHidden|screenSize"
android:name=".tools.onekey.MessageActivity"
android:screenOrientation="sensorPortrait"/>
<!--联通电信授权页-->
<!--如果不需要使用窗口模式,不要使用authsdk_activity_dialog主题,会出现异常动画-->
<!--如果需要使用authsdk_activity_dialog主题,则screenOrientation一定不能指定明确的方向,
比如portrait、sensorPortrait,在8.0的系统上不允许窗口模式指定orientation,会发生crash,需要指定为behind,
然后在授权页的前一个页面指定具体的orientation--><!--使用弹窗模式必须添加!!!-->
<activity
android:name="com.mobile.auth.gatewayauth.LoginAuthActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="false"
android:theme="@style/authsdk_activity_dialog"
android:launchMode="singleTop" />
<!--协议页面webview-->
<activity
android:name="com.mobile.auth.gatewayauth.activity.AuthWebVeiwActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="behind" />
10、请参考下图从下载的Demo中复制粘贴需要的文件
注意:上图中有需要依赖的drawable、layout文件请根据自己实际业务选择性粘贴、复制。当然也包括:colors.xml、strings.xml、styles.xml文件。
11、去阿里云控制台找到对应的AppID_Secret,放置在OnekeyLoginActivity.class文件中
12、启动一键登录页面
Intent pIntent = new Intent(mContext, OneKeyLoginActivity.class);
pIntent.putExtra(THEME_KEY, 0);
startActivity(pIntent);
13、该type包含以下几种登陆样式
14、启动效果图如下: