我有很多關閉活動的應用程序,用戶可以在活動之間漫步。如何找到某些活動是否在堆棧上(僅用於調用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. saveInstanceState堆棧在活動中
- 3. 堆棧或堆
- 4. 調用堆棧上的異常處理堆棧幀的順序
- 5. Android活動堆棧
- 6. 對象的堆棧上或堆棧上的隱藏成員?
- 7. 如何判斷CString是否在堆或棧上分配內存?
- 8. 堆棧或堆棧分配不正確
- 9. 如何確定內存是否屬於堆或堆棧?
- 10. 在Android中查看活動堆棧
- 11. 堆棧上的C++存儲保存在堆棧上
- 12. 堆棧或堆上的對象分配
- 13. 在活動堆棧中查找活動位置
- 14. 如何知道活動是否位於堆棧頂部
- 15. C#7.0中引用返回的值是否存儲在堆棧或堆上?
- 16. 如何在android應用程序中找回堆棧活動?
- 17. 如何在調試中查看活動堆棧?
- 18. JavaScript調用堆棧
- 19. erlang調用堆棧
- 20. jQuery調用堆棧?
- 21. 如何檢查堆棧是否爲空
- 22. 如何查找堆棧向上或向下增加?
- 23. 休眠 - 在堆棧上還是在堆上?
- 24. 如何返回活動堆棧中某個活動?
- 25. 異常向上傳播調用堆棧
- 26. 調用堆棧上的條件斷點
- 27. 如何在xcode中打印或查看方法調用堆棧?
- 28. getaddrinfo addrinfo導致堆棧或堆棧
- 29. 如何手動管理活動堆棧?
- 30. 回調執行僅去年在堆棧
你能否提供一個更好的例子來說明爲什麼你想找到一個關閉它的活動?我想不出你想要去的一個理由,並關閉一個隨機在棧上的活動。 – BoredAndroidDeveloper 2012-03-14 12:51:50