2010-01-10 55 views

回答

5

Android SDK中没有允许用户应用程序执行此操作的API。

最近你可能会尝试将PowerManager.goToSleep()

+0

让我试试 – 2010-01-10 19:10:42

+0

我知道有这个名为“关机”一个应用程序,但我不能找到一个:( – 2010-01-10 19:20:42

+0

我想你需要许可的源代码'DEVICE_POWER'只是系统 – 2010-01-10 19:29:47

1

是的,这是可能的,但你需要一个Rooted设备与Superuser访问。请尝试使用下面的代码:

try { 
    Process proc = Runtime.getRuntime() 
        .exec(new String[]{ "su", "-c", "reboot -p" }); 
    proc.waitFor(); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 

如果你打算这样做没有Root Privileges,算了吧。唯一的方法是使用PowerManager,但除非您的应用程序使用System Firmware Key进行签名,否则这种方法无效。

[通过Programmatically switching off Android phone]