2

可能重复:
以编程方式锁定 android 设备

我希望在运行方法时能够使用密码锁定 Android 手机。有没有人有参考或示例代码供我参考。谢谢

编辑 我尝试过使用

KeyguardManager mgr = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
KeyguardLock lock = mgr.newKeyguardLock(KEYGUARD_SERVICE); 
lock.reenableKeyguard();

正如下面的答案所说,但我仍然试图让它添加一个我专门输入到服务器端数据库中的密码,所以解锁他的手机的唯一方法是输入我设置的密码

编辑

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

一直在努力 ^

编辑

我已经看到了

device_admin_sample.xml

与内容

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <limit-password />
    <watch-login />
    <reset-password />
    <force-lock />
    <wipe-data />
  </uses-policies>
</device-admin>

但是我应该把这个xml文件放在哪里..它似乎有一个错误,无论我放在哪里

编辑

现在,我已经实现了一半,并在看到下面的评论说我无法用密码锁定手机时将其搁置。但是查看API文档,有一个用新密码重置密码的功能。

resetPassword(String password, int flags)

那是什么?我可以在手机上实现密码锁定吗?还是在输入服务器提供的新密码之前锁定手机的想法无法完成?

4

1 回答 1

1

您的应用程序无法阻止任何人按下主页按钮并退出您的应用程序。这可以防止恶意软件或错误编码的应用程序将手机锁定到您需要卸下电池才能摆脱垃圾软件的程度。

不过,您可以使用通常的屏幕锁定器以编程方式锁定屏幕:

KeyguardManager mgr = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
KeyguardLock lock = mgr.newKeyguardLock(KEYGUARD_SERVICE); 
lock.reenableKeyguard();

这将需要清单文件中的“禁用 Keyguard”权限。

OP优化后编辑:

看看这个示例,它向您展示如何使用设备管理器:http: //developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html

于 2011-01-25T12:21:57.930 回答