请教高手。final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.restartPackage(getApplication().getPackageName());发现这个是关闭某个程序时候用到的。这名字取得真是无语,应该叫finishPackage好点。
现在想要的是真正重新启动的东西。因为我的程序跨越多个栈区,
所以一般的像
android:clearTaskOnLaunch="true"
android:finishOnTaskLaunch="true"
这些都不管用。急切需要一种有效地方法对程序进行初始化后重新启动。

解决方案 »

  1.   

    你不顺应Android的task机制, 很难做的.
      

  2.   

    你先用restartPackage结束程序之后再启动程序不就行了么。。
      

  3.   


    就是把shared_preference.xml文件删除掉。
      

  4.   

    按照android的流程来,在那几个函数里下手。resume(),pause()……
      

  5.   

    可以在destroy方法里写启动,问题是要从destroy方法里关闭的应用……
      

  6.   

    restartPackage在android2.2之后就没用了吧  楼主是想要跨进程去重启另一个应用吗?
      

  7.   

    先加个权限
    <uses-permission android:name="android.permission.REBOOT" />powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    powerManager.reboot("null");