Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Restart - Fatal编程技术网

Android-如何以编程方式重新启动系统进程?

Android-如何以编程方式重新启动系统进程?,android,restart,Android,Restart,我有一个android设备,它以系统应用程序的形式运行我的应用程序。在这个应用程序中有一个更新功能,它从互联网下载新版本的apk,然后覆盖设备上的apk。之后,我需要重新启动应用程序。。。这就是我的问题,我尝试了很多方法: finish(); Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() ); i.addFlags(In

我有一个android设备,它以系统应用程序的形式运行我的应用程序。在这个应用程序中有一个更新功能,它从互联网下载新版本的apk,然后覆盖设备上的apk。之后,我需要重新启动应用程序。。。这就是我的问题,我尝试了很多方法:

finish();

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() );   
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(i);

System.exit();

android.os.Process.killProcess(pid);
我注意到,如果我在Eclipse中停止system_进程,我的设备将重新启动,应用程序正在升级,新版本的应用程序正在运行。 所以我的问题是,如何以编程方式停止/重新启动system_进程?或者你有什么好主意重新启动并运行我的新版本应用程序吗? Thx:)

Thx。它真的很神奇!:)


尝试此链接将这个android.os.Process.killProcess(pid)更改为-->android.os.Process.killProcess(android.os.Process.myPid());你好如果我用killProcess终止我的应用程序,它将进入死循环。。。ActivityManager杀死进程,然后启动,但它抛出NullPointerException,然后再次死亡。。。
PowerManager pm = (PowerManager) this.getApplicationContext().getSystemService(Context.POWER_SERVICE);
pm.reboot("bootloader");