是否可以通过编程方式重新启动 root 和 unrooted android 设备?

Is it possible to reboot both rooted & unrooted android device Programmatically?

在我的 android 应用程序中,我想在单击按钮时重新启动我的 android 设备。但是 它在有根的 Phone 中工作,但在无根的 phone 中不起作用。

try {
               Runtime.getRuntime().exec(new String[]{"su","-c","reboot now"}));

                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

是否可以重新启动 root 和未 root 的 android 设备?

除非最近发生了一些变化,否则您无法通过常规应用程序以编程方式重新启动非根目录 phone。

如果应用程序由系统固件密钥签名(常规应用程序不会),您可以这样做。

如果您确实采用了 root 设备路线,请注意运行时 exec 函数具有一些特征,这意味着它可能并不总是按您预期的方式运行。

这里有一个很好的总结,而不是通过艰难的方式来学习:http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html