【发布时间】:2014-10-06 20:16:04
【问题描述】:
我有一个 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?或者您有什么好主意来重新启动并运行我的新版本应用程序? 谢谢 :)
【问题讨论】:
-
将这个 android.os.Process.killProcess(pid) 改成 --->android.os.Process.killProcess(android.os.Process.myPid());
-
你好。如果我用 killProcess 杀死我的应用程序,它会进入死循环...... ActivityManager 会杀死进程然后加星,但它会抛出 NullPointerException,然后再次死亡......