2013-08-01 25 views
1

我有2個活動,A(根活動)和B從A啓動。從B退回到A,除1個情況外。 If I am in B, go to home screen, launch the app again from recent apps, B comes to foreground but pressing back leads to home screen instead of A.如果我通過從圖標啓動而不是從最近的應用程序回到應用程序,向我展示活動A,我們可以說這是正確的(儘管應該顯示B並從B後面按下應該導致A)。當按下時不返回到父活動

胡亞蓉答:

<activity android:name=".AudioRecTabsActivity" 
      android:label="@string/app_name" 
      android:launchMode="singleInstance"> 
      <!-- android:configChanges="keyboardHidden|orientation">--> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

     </activity> 

活動B:

<activity android:name=".settings.SettingsActivityOld" 
      android:label="@string/settings_activity_title"/> 

啓動行爲B,從答:

intent = new Intent(this, SettingsActivityOld.class); 
startActivity(intent); 
+1

開始酶活性的嘗試從清單移除singleInstance和嘗試。 – Charan

回答

3

如果您使用android:launchMode="singleInstance",這是完全正常的,因爲活動B在新任務中運行,並且活動A是其任務中唯一的活動。檢查B活性的這種link

+0

你是對的,用singleTop從activityA中改變singleInstance解決了我的問題。 –

0

嘗試在活動B.調用Activity#finish()應該刪除當前活動從活動堆棧返回到前一個。

+1

當不是最近的應用程序時,他能夠從B返回到活動A.因此,壓倒一切並沒有出現。 – Charan

+0

我認爲Activity#finish()已經由super.onbackPressed()完成了 –

0

覆蓋backpress方法,並從那裏

​​
相關問題