我正在开发一个安全增强的Android应用程序。需要锁定Android手机,因此使用设备管理员,它工作正常。
但是,在设置密码时,我需要使用Intents或者我导航到内置的UI屏幕输入密码。
Intent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
startActivity(intent);
有没有办法在不使用默认屏幕/没有UI的情况下设置密码?
请帮帮我......
答案 0 :(得分:3)
DevicePolicyManager DPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
String pw = "abcd123";
DPM.resetPassword(pw, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
不确定这是否是您需要的,但这是我为用户设置密码的方式。
答案 1 :(得分:1)
不 - 原因是从谷歌的角度来看(你的要求可能会有所不同,但你占少数),用户应该总是有机会知道他们设备的密码。允许应用程序(即使作为设备策略管理器)在没有用户输入的情况下更改密码可能会将用户锁定在他们可能需要运行的设备之外而不理解其原因,这是一个非常糟糕的UX设计。您可以重置用户的密码,或者,如您所知,启动屏幕以帮助他们更改密码,但这是您无需自定义构建操作系统即可管理的最佳密码。