如何使用Intent或PowerManager API以编程方式关闭Android设备?

时间:2016-07-14 12:30:04

标签: android android-powermanager

我试图以编程方式关闭我的自定义Android设备。 我使用下面的代码做同样的事情,但它又重新启动。我希望设备完全关闭。

Intent intent = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
            intent.putExtra("android.intent.extra.KEY_CONFIRM", false);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);

如何实现完全关闭i,避免自动重启?

注意:我已经使用平台签名签署了应用程序。 将其放在/ system / app中 在清单中添加了<uses-permission android:name="android.permission.SHUTDOWN" />权限。

3 个答案:

答案 0 :(得分:1)

如果您的设备已植根,则可以使用此代码进行关闭

Java.Lang.Runtime.GetRuntime().Exec(new String[] { "/system/xbin/su", "-c", "reboot -p" });

并将此代码用于重新启动

Java.Lang.Runtime.GetRuntime().Exec(new String[] { "/system/xbin/su", "-c", "reboot now" });

我在Xamarin.Android上使用它

答案 1 :(得分:0)

试试这段代码,它可能会有所帮助。

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

答案 2 :(得分:0)

Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN");
i.putExtra("android.intent.extra.KEY_CONFIRM", true);
startActivity(i);