我想锁定屏幕(实际上是通过点击按钮触发长按以显示系统对话框“关闭手机?”)。可能吗 ?我发现了一些例子:
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();
}
但它也行不通。我在模拟器上测试它,它会在真正的手机上运行吗?
感谢大家提前解答!
以下是请求关闭的最常用方法:
Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
i.putExtra("android.intent.extra.KEY_CONFIRM", true);
startActivity(i);
您提到的其他方法不起作用,因为常规应用程序没有运行这些方法的权限(出于明显的安全原因)。