我想在我的应用程序中实现屏幕锁定,例如,大多数基于支付网关的应用程序如何做,我已经尝试使用KeyGuardManager,仅在Lollipop之后工作,问题是我的应用程序也支持KitKat,那个' s为什么我需要帮助
这就是我试过的
KeyguardManager km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
if(km.isKeyguardSecure()) {
Intent i = km.createConfirmDeviceCredentialIntent("Authentication required", "password");
startActivityForResult(i, CODE_AUTHENTICATION_VERIFICATION);
}
else
Toast.makeText(this, "No any security setup done by user(pattern or password or pin or fingerprint", Toast.LENGTH_SHORT).show();
答案 0 :(得分:0)
您可以设置在设备锁定之前可能发生的用户不活动的最长时间。例如:
DevicePolicyManager mDPM;
ComponentName mDeviceAdminSample;
...
long timeMs = 1000L*Long.parseLong(mTimeout.getText().toString());
mDPM.setMaximumTimeToLock(mDeviceAdminSample, timeMs);
您还可以通过编程方式告诉设备立即锁定:
DevicePolicyManager mDPM;
mDPM.lockNow();
编辑:
不要忘记申请许可 文档陈述
呼叫设备管理员必须已请求USES_POLICY_FORCE_LOCK 能够调用这种方法;如果没有,则会出现安全例外 被抛出。
检查此帖子here