【问题标题】:Lock an Android Phone [duplicate]锁定 Android 手机 [重复]
【发布时间】:2011-06-15 04:00:37
【问题描述】:

可能重复:
Lock the android device programatically

我希望在运行方法时能够使用密码锁定 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)

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

【问题讨论】:

标签: java android locking device-admin


【解决方案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

【讨论】:

  • 这是否允许用户输入我为他们设置的密码来解锁手机?
  • 不,这只是锁定屏幕,就像他们让手机进入睡眠状态一样。
  • 抱歉在评论中误读了您的问题:如果他们的手机设置为询问他们密码或触摸手势,那么是的,它会在尝试解锁手机时询问。
  • @robobooga:你有没有读过他回答的第一部分?您不能输入自己的密码,否则这将是恶意软件阻止手机的大门。
  • 所以你的意思是我不能实现设备管理器?
猜你喜欢
  • 2012-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多