Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中执行重新启动命令时出错_Android_Shutdown_Reboot_Android Reboot - Fatal编程技术网

在android中执行重新启动命令时出错

在android中执行重新启动命令时出错,android,shutdown,reboot,android-reboot,Android,Shutdown,Reboot,Android Reboot,我正在尝试关闭并重新启动我的应用程序。 我在谷歌上搜索并找到了一些关于stackoverflow的问题,但所有人都说这个设备必须是根设备,这在我的情况下是不可能的。这些命令也是特定于设备的。 是否可以通过编程方式关闭或重新启动android设备 我试着做以下事情 String command="/system/bin/reboot"; try { // Run Script proc = runtime.exec("su");

我正在尝试关闭并重新启动我的应用程序。 我在谷歌上搜索并找到了一些关于stackoverflow的问题,但所有人都说这个设备必须是根设备,这在我的情况下是不可能的。这些命令也是特定于设备的。 是否可以通过编程方式关闭或重新启动android设备
我试着做以下事情

String command="/system/bin/reboot";

        try { // Run Script

            proc = runtime.exec("su");
            osw = new OutputStreamWriter(proc.getOutputStream());
                                osw.write(command);
                    osw.flush();
            osw.close();

        } catch (IOException ex) {}


我现在拥有的设备都是根设备,因此我无法测试它,但需要如何使用设备密钥对应用程序进行签名,或使其成为系统应用程序

这是一个适用于我的应用程序的示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
   pm.reboot(null);
}
并添加到清单中:

使用权限android:name=“android.permission.REBOOT”/>


希望它有帮助

如果您能够使用设备密钥对应用程序进行签名,那么您可能可以在设备上不使用root用户的情况下完成此操作。
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
   pm.reboot(null);
}