我有一個退出的方法,這是否越來越Android遊戲活動:理解爲什麼在這種情況下
public void quitFinalize(ServicedActivity actCtx)
{
for (ServicedActivity act : mRunningActivities)
launchActivity(actCtx, new Intent(mAppCtx, act.getClass()).setAction("--"));
}
檢查發現mRunningActivities是OK.It包括在我的任務創建並沒有被破壞,所有的活動。所有活動繼承:
public class ServicedActivity extends FragmentActivity implements OnClickListener
{
...
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
if (/*Intent.ACTION_SCREEN_OFF*/"--".equals(intent.getAction())) // used for quitting the game
{
finish();
}
}
...
}
我已經注意到了,在設置2個活動,該機構工作正常。然而,對於3個活動,Android 4.0.3決定它應該啓動(創建)Set中的一個活動的另一個實例(它似乎特別喜歡啓動一個特定的活動,而不是任何活動)。和他們完成他們所有的(因此4個破壞活動,而不是原來3)
我敢肯定它不是我創建活動無意中 - 我所有的launchActivity邏輯是通過追加FLAG_ACTIVITY_REORDER_TO_FRONT標誌的意圖的方法過濾,所以我不能最終得到同一個Activity類的兩個實例。它必須是重新創建它的操作系統。
也試過沒有「機器人:launchMode =‘singleTop’」清單文件屬性 - 它是像這樣的應用程序的所有活動。一樣。
這是怎麼回事?上面的onNewIntent()方法按預期命中3次,但在中間,Android創建一個新的Activity然後立即終止它。
感謝
可能相關:http://stackoverflow.com/questions/11703256/android-activity-intent-remains-after-shutdown – kellogs