我有很多關閉活動的應用程序,用戶可以在活動之間漫步。如何找到某些活動是否在堆棧上(僅用於調用finish())或不在堆棧上?如何查找某些活動是否在堆棧上(僅用於調用finish())或不在堆棧上?
1
A
回答
0
你需要更清楚一點你正在尋找的東西。
這個類可以用來知道正在運行的進程的狀態。 http://developer.android.com/reference/android/app/ActivityManager.html
還對你的AndroidManifest.xml中添加活性SingleInstace (應用程序 - >活動 - >啓動模式 - > SingleInstance)。 如果您的活動正在運行,它不會創建一個新的。
使用此功能可以幫助您清除應用中以前稱爲A之前的所有頂級活動。
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
0
可以檢索的活動任務(和組件參與每一項任務)像這樣的列表:
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
...
}
然而,這需要你要求在AndroidManifest的android.permission.GET_TASKS
許可。
相關問題
- 1. 堆上,而不是堆棧
- 2. 如何檢查堆棧上是否有其他活動?
- 3. 完成某些活動之上的所有活動,但僅當某個活動在堆棧上時
- 4. 如何檢測活動堆棧是否爲空以及活動堆棧大小?
- 5. 分配在堆或棧上?
- 6. 活動堆棧
- 7. 在堆或堆棧上的C++矢量?
- 8. 活動堆棧或碎片?
- 9. 在堆棧上使用realloc()
- 10. 清除android堆棧並始終在某些活動上啓動應用程序
- 11. 如何在HPUX上查找堆/堆棧損壞?
- 12. 如何檢查活動是否仍在堆棧中?
- 13. 調用堆棧
- 14. 堆棧或堆
- 15. saveInstanceState堆棧在活動中
- 16. 堆棧溢出調用堆棧#timememoryfunctionlocation 10.0000143728
- 17. 調用堆棧上的異常處理堆棧幀的順序
- 18. Android活動堆棧
- 19. 對象的堆棧上或堆棧上的隱藏成員?
- 20. 如何判斷CString是否在堆或棧上分配內存?
- 21. NSObject:在堆上還是在棧上?
- 22. 堆棧或堆棧分配不正確
- 23. 存儲在堆棧或堆
- 24. 如何確定內存是否屬於堆或堆棧?
- 25. 是堆棧或堆make_pair?
- 26. 堆棧在java中使用堆棧
- 27. 在Android中查看活動堆棧
- 28. 如何在只有損壞的堆棧文件時找到調用堆棧?
- 29. 如何檢查指針是否指向iOS上的堆或堆棧內存?
- 30. 查看調用堆棧
你能否提供一個更好的例子來說明爲什麼你想找到一個關閉它的活動?我想不出你想要去的一個理由,並關閉一個隨機在棧上的活動。 – BoredAndroidDeveloper 2012-03-14 12:51:50