我有一个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_process,则设备将重新启动,应用程序正在升级,并且新版本的应用程序正在运行。
所以我的问题是,如何以编程方式停止/重启system_process?还是您有个好主意来重新启动并运行我的新版本应用程序?
谢谢 :)

最佳答案

谢谢。它神奇! :)

PowerManager pm = (PowerManager) this.getApplicationContext().getSystemService(Context.POWER_SERVICE);
pm.reboot("bootloader");

07-28 04:17
查看更多