我想锁定屏幕(实际上是通过点击按钮触发长按以显示系统对话框"关闭手机?")可能吗 ?我找到了一些例子:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
但他们不能工作。也许我可以通过其他方式以编程方式关闭手机?我发现信息是不可能的,所以我试图像长按锁定按钮一样实现它。
UPD: 我发现了这个:
try {
Process proc = Runtime.getRuntime()
.exec(new String[]{ "su", "-c", "reboot -p" });
proc.waitFor();
} catch (Exception ex) {
ex.printStackTrace();
}
但它也不起作用。我在模拟器上测试它,它能在真正的手机上运行吗?
提前感谢大家的解答!
答案 0 :(得分:0)
以下是请求关闭的最常用方法:
Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
i.putExtra("android.intent.extra.KEY_CONFIRM", true);
startActivity(i);
您提到的其他方法无效,因为常规应用无权运行这些方法(出于明显的安全原因)。