我有很多关闭活动的应用程序,用户可以在活动之间漫步。如何找到某些活动是否在堆栈上(仅用于调用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