Sid*_*Sid 1 android lockscreen
我们应该如何在我自己的 android 应用程序上实现系统锁定屏幕,就像在 GooglePay、PayTM、PFA 中使用的图像一样。
Android 有一种叫做 KeyGuard 的东西。Keyguard基本上是指处理手机解锁的代码。它最初是为带有键盘的手机开发的。
Tez、Paytm 等使用 Android 提供的 Keyguard API 来保护应用程序。
您可以按照以下步骤来实现:
Android 提供KeyguardManager来实现身份验证。
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
Run Code Online (Sandbox Code Playgroud)创建请求身份验证的意图。
Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
Run Code Online (Sandbox Code Playgroud)
这里,Title 和 description 用于在认证时向用户显示信息。此方法需要 API 级别 21。
您可以调用 startActivityForResult ,它会返回一个结果是否认证成功。
startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
如果未设置锁定屏幕,则会引发异常。您必须手动处理这种情况。
检查 onActivityResult 中的结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(LOCK_REQUEST_CODE == requestCode){
if (resultCode == RESULT_OK) {
//Authentication is successful
} else {
//Authentication failed
}
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
4339 次 |
| 最近记录: |