Q
關閉另一個活動
-1
A
回答
0
前幾天我有這個問題,我很高興地告訴你,我找到了解決辦法。
首先,對活動要停止在AndroidManifest.xml
補充一點:
android:launchMode="singleTop"
我要使用一個CheckBox實例。當它被檢查時,活動已開始,未選中時將終止該活動。
示例活動A正在調用活動B,然後使用意向對其進行殺死。被放在一個
代碼:
checkbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(A.this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
if (enable.isChecked()) {
intent.putExtra("keep", true);
startActivity(intent);
}
else
{
intent.putExtra("keep", false);
startActivity(filterAct);
}
}
});
代碼被放入B:
boolean keep;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.B);
intent = this.getIntent();
boolean keep = brightnessIntent.getExtras().getBoolean("keep");
if(keep==true)
{
//execute your code here
}
}
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
keep = intent.getExtras().getBoolean("keep");
if(keep==false)
{
B.this.finish();
}
}
}
說明:這是什麼基本上做的是,當複選框被選中它調用的活動,傳遞一個布爾值,如果它是真的活動保持活躍並被帶到前臺。現在,如果您未通過國旗singleTop
,則會創建此活動的許多實例。 singleTop
確保只調用同一個實例。現在,當取消選中複選框時,將傳遞一個新的keep值,並在B中進行驗證。如果未選中,則活動A將傳遞false,因此B將從onNewIntent()
函數中自行終止。
P.S - 您也可以從其他活動中關閉活動B.只需使用 如果另一項活動是C:
Intent intent = new Intent(C.this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("keep", false);
startActivity(intent);
0
您可以使用對方的回答殺死一個活動,但它不是直接的原因是,他們真的想你了跟隨活動的生命週期。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
在你的onPause()的實現,你應該停頓與活動有關的任何長期運行的處理,除非有充分的理由繼續下去。
除非需要內存,否則Android會保留Activity,因爲重用已經實例化的Activity要比實例化一個新的Activity快得多。最好讓Android爲你管理內存,而不僅僅是自己殺死活動。
相關問題
- 1. 關閉另一個類的活動
- 2. 如何從另一個活動關閉活動Android
- 3. 從另一個FormClosed事件中關閉一個活動表單
- 4. Android應用程序部隊在關閉另一個活動時關閉
- 5. 關閉一項活動
- 6. 打開另一個活動後關閉導航抽屜
- 7. 關閉另一個活動的彈出窗口
- 8. 關閉一個具體的活動android
- 9. 隊第一個活動後關閉
- 10. 如何關閉一個應用程序,如果我有一個動畫活動,調用另一個活動
- 11. 關閉父活動並啓動一個新活動
- 12. 關閉一個活動上新的活動
- 13. 從前臺發送一個Intent活動到另一個沒有關閉它
- 14. AlertDialog在按照意圖啓動另一個活動後不會自動關閉
- 15. 關閉2活動
- 16. Android:在關閉WiFi時關閉活動
- 17. 關閉一個JFrame而不關閉另一個?
- 18. highcharts鏈接系列,使一個關閉關閉另一個
- 19. 從另一個活動調用另一個活動
- 20. 關閉一個DIV打開另一個
- 21. GCM關閉活動的活動
- 22. 從另一個活動更新活動
- 23. Android,關閉只有一些活動
- 24. 兩個活動:錯誤強制關閉
- 25. 後退按鈕關閉兩個活動?
- 26. 同時關閉幾個android活動
- 27. 安卓「關閉」活動
- 28. 關閉活動TabHost退出
- 29. 的Android,活動被關閉
- 30. svg:激活/關閉動畫