如何通过代码远程解锁android手机

我写了一个应用程序,远程lockingandroid手机。 那就是当一个特殊的代码从服务器发送,然后应用程序locking手机基于特殊的代码。 这是我正在使用的代码。

if (!mDPM.isAdminActive(mDeviceAdminSample)) { // try to become active – must happen here in this activity, to get result Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"Admin is added to do security operation."); startActivityForResult(intent, 0); } else { // Already is a device administrator, can do security operations now. mDPM.lockNow(); } 

上面的代码正在工作,它locking了手机。

我可以通过从软键盘input密码来解锁手机。 有什么办法通过代码解锁它?

我的问题是如何通过代码解锁手机(这种解锁应该以我解释的locking方式远程完成)

我相信你不能覆盖内置的屏幕锁,除非你自己的设备像三星和HTC做。 然而,通过让你的客户使用你自己的屏幕locking式的应用程序,你可能会实现你想要做的。

我不认为你的远程解锁目标是可以实现的。

Android设置的方式是,许多应用程序可能具有设备pipe理员权限,任何设备pipe理员都可以发出locking命令,但解锁必须来自用户。

我可以build议一件事情,你简化这个:你的应用程序可以尝试删除密钥锁密码,然后用户可以简单地通过在屏幕上滑动手指没有代码使用该设备。

如果您的应用程序不是唯一的设备pipe理员,那么现在就有一个障碍了。 在这种情况下,其他pipe理员应用程序可以设置一个最小密码长度(或其他密码限制),这将阻止您的应用程序清除屏幕locking密码。

如果您的目标是帮助忘记了他/她的屏幕locking密码的用户,那么您的服务器可以发明一个新的密码,通知用户新密码是什么,并将新密码发送到您的应用程序,您的应用程序可以应用密码。 用户可以解锁手机。 别担心,它不像听起来那么复杂。

抱歉写下 – 没有办法从代码解锁手机。 如果您发现任何方式做 – 不保证工作。 所以没有办法远程解锁,编写自定义锁屏等

您需要使用mDPM.resetPassword(“”,0)

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#resetPassword(java.lang.String,int

当设置密码string为“”时,当前密码被replace为空值并且屏幕locking消失。

尝试这个

 KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE); kl = manager.newKeyguardLock("my-remote-app"); kl.disableKeyguard(); 

//用于在退出时重新启用键盘锁(如果需要)

 onDestroy() { kl.reenableKeyguard(); } 

这工作<= ICS。 这是一个弃用的API,他们build议你使用WindowManager中的标志来达到类似的效果。 尽pipe我无法使用WindowManger生成类似的效果。

希望这可以帮助,

请注意,我不是Android开发者,但是:

如果你看看这个 ,看起来你可以让WindowManager在你拥有合适的权限的情况下解雇这个关键的后卫,即使你处于“安全locking”模式。

据我所知,我们不能解锁密码保护电话编程。

一个解决办法是写一个“自定义锁屏”。 当然,这不是最简单的方法,但它会工作,因为你可以用你自己的锁屏做你想做的一切。 如果您正在考虑解决scheme,请随时与我联系,我会给你一些有用的链接。 干杯!