Sha*_*sha 8 android android-activity
是否有可能在android中找到当前的前台活动.我没有使用ActivityGroup.
我的猜测是你需要查看ActivityManager类.我简要地看了一下这些文档,这就是我想出来的.
有一个功能:
public List<ActivityManager.RunningTaskInfo> getRunningTasks (int maxNum)
Run Code Online (Sandbox Code Playgroud)
来自Android文档:
返回当前正在运行的任务列表,其中最新的是第一个和更早的任务.请注意,"运行"并不意味着任何任务的代码当前已加载或活动 - 该任务可能已被系统冻结,因此可以在下次将其置于前台时以其先前状态重新启动.
我的想法是,如果你传入maxNum=1,它应该给你最近的任务,即.最重要的任务.每个ActivityManager.RunningTaskInfo都有一个叫做的属性topActivity.
public ComponentName topActivity
Run Code Online (Sandbox Code Playgroud)
来自Android文档:活动组件位于任务历史堆栈的顶部.这是用户目前正在做的事情.
尝试下面的代码:你需要给予适当的许可
private String getCurrentTopActivity() {
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
return ar.topActivity.getClassName().toString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12953 次 |
| 最近记录: |