如何通过代码远程解锁Android手机
我写了一个可以远程锁定android手机的应用程序。 也就是说,从服务器发送特殊代码后,应用程序将根据特殊代码锁定电话。 这是我正在使用的代码。
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();
}
上面的代码有效,并且已锁定手机。
我可以通过从软键盘输入密码来解锁手机。 有什么办法可以通过代码解锁吗?
我的问题是如何通过代码解锁手机(该解锁操作应以我解释过的锁定方式远程进行)
kehnar asked 2020-07-19T21:40:50Z
8个解决方案
6 votes
我相信,除非您像三星和HTC这样制造自己的设备,否则您将无法覆盖内置的屏幕锁定。 但是,通过让客户使用自己的类似屏幕锁的应用程序,您可能可以实现您想做的事情。
IdleSun answered 2020-07-19T21:41:09Z
5 votes
我认为您无法实现远程解锁目标。
设置Android的方式是,许多应用程序可能具有设备管理员权限,并且任何设备管理员都可以发出锁定命令,但是解锁必须来自用户。
我可以建议您简化一下操作:您的应用程序可以尝试删除键锁密码,然后用户只需在屏幕上滑动手指即可使用无需密码的设备。
如果您的应用程序不是唯一的设备管理员,那么我的建议就出现了问题。 在这种情况下,某些其他管理员应用可以设置最小密码长度(或其他一些密码限制),这将阻止您的应用清除屏幕锁定密码。
如果您的目标是帮助忘记了屏幕锁定密码的用户,则您的服务器可以发明一个新密码,告知用户新密码是什么,然后将新密码发送到您的应用,并且您的应用可以应用 密码。 然后,用户可以解锁手机。 不用担心,它并不像听起来那样复杂。
gabriel answered 2020-07-19T21:41:47Z
4 votes
不好意思写-无法从代码中解锁手机。 如果您找到任何可行的方法-则无法保修。 因此,无法进行远程解锁,编写自定义锁屏等。
piotrpo answered 2020-07-19T21:42:08Z
3 votes
您需要使用mDPM.resetPassword(“”,0)
[http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#resetPassword(java.lang.String,] int)
将密码字符串设置为“”时,当前密码将替换为空值并且屏幕锁定消失。
M P Mathugama answered 2020-07-19T21:42:36Z
2 votes
试试这个
KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE);
kl = manager.newKeyguardLock("my-remote-app");
kl.disableKeyguard();
//用于在退出时重新启用键盘锁(如果需要)
onDestroy() {
kl.reenableKeyguard();
}
这有效<= ICS。这是一个已弃用的api,他们建议您使用WindowManager中的标志来达到类似的效果。 虽然我无法使用WindowManger产生类似的效果。
希望这可以帮助,
fadedreamz answered 2020-07-19T21:43:09Z
1 votes
请注意,我不是Android开发人员,但是:
如果您查看此内容,即使您处于“安全锁定”模式,也可以要求WindowManager解除键盘保护,如果您具有正确的权限。
HonkyTonk answered 2020-07-19T21:43:34Z
1 votes
据我所知,我们可以通过编程方式解锁受密码保护的电话。
user1871937 answered 2020-07-19T21:43:54Z
0 votes
一种解决方案是编写“自定义锁屏”。当然,这不是最简单的方法,但是它可以工作,因为您可以使用自己的锁屏做任何您想做的事情。如果您正在考虑该解决方案,请随时与我联系,我会给您一些有用的链接。干杯!
jcavandoli answered 2020-07-19T21:44:14Z