我有一个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?或者您有任何好主意重新启动并运行我的新版本应用程序? 谢谢:)
答案 0 :(得分:2)
THX。它真的很神奇! :)
PowerManager pm = (PowerManager) this.getApplicationContext().getSystemService(Context.POWER_SERVICE);
pm.reboot("bootloader");