android中的屏幕锁定密码

时间:2011-09-02 18:08:03

标签: android security

我正在开发一个应用程序,我必须在按钮点击时更改屏幕锁定密码,任何人都可以告诉我该怎么做。

3 个答案:

答案 0 :(得分:3)

如果您正在谈论用户在设备设置中设置的解锁密码字,则答案是您不能。

如果应用程序可以在没有用户交互的情况下更改解锁密码/模式,那么这些安全功能将大部分无用。如果可能的话,流氓应用程序理论上可以将用户锁定在他们自己的设备之外。

编辑:如果您的目标不是在没有交互的情况下更改此值,而只是将它们发送到正确的设置页面。你可能能够做到这一点。您需要查看可用于启动“设置活动”的意图。但是,如果您正在开发此应用程序以供公众使用,我强烈建议您重新考虑尝试对用户安全设置执行任何操作。作为用户,如果应用程序提示然后将我发送到安全设置页面,意图让我在那里更改某些内容,我会立即将其卸载。

编辑2:我直到现在才见过它所以我不确定他们曾经做过什么。因为它声明必须是android 2.2+虽然我会假设他们正在使用Device Administration APIs文档似乎表明它可以“提示用户设置新密码”。我认为这意味着它只是为他们开始设置活动。它实际上并没有自己更改密码值。整个API也受用户激活。因此,即使您安装在设备上,用户也必须明确“激活”您的应用,然后才能使用任何管理API

答案 1 :(得分:1)

我确信唯一可行的方法是使用设备密钥对您的APK进行签名。这样它就可以访问仅限于系统应用程序的API。对于普通应用程序而言,这是不可能的,只有在从源代码构建Android时才会将其烘焙到自定义ROM或设备制造商ROM中。

答案 2 :(得分:1)

我并不完全明白你要做什么。如果您希望以编程方式更改锁定屏幕密码,并且您的应用程序是设备管理,则可以调用: DevicePolicyManager的resetPassword方法,例如:

m_policyManager.resetPassword(“bla bla”,DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);