【问题标题】:How to know which activity is presently opened?如何知道当前打开了哪个活动?
【发布时间】:2012-01-25 13:08:40
【问题描述】:

我是安卓新手。

我正在开发一个应用程序。

基于我的应用程序启动时,后台服务将启动。

当用户开始新的活动时,它会在后台运行并通知用户。

例如用户打开相机,联系人..通过我想获得的后台服务 每次打开哪个活动。

如果有人有解决办法,请帮助我

提前致谢。

【问题讨论】:

标签: android android-activity


【解决方案1】:

此代码将返回所有已加载到进程中的包。

在启动相关应用并进行更改后查看结果。

    private String[] AppForground() {

            ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
            List<RunningAppProcessInfo> l = mActivityManager
                    .getRunningAppProcesses();
            Iterator<RunningAppProcessInfo> i = l.iterator();
            while (i.hasNext()) {
                RunningAppProcessInfo info = i.next();
                if (info.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                    return info.pkgList;
                }
            }

            return null;
}
}

【讨论】:

    【解决方案2】:

    您可以使用以下步骤来实现此场景。这是我的解决方案。

    • 为活动名称创建 setter()/getter() 方法。

    • 每当您更改活动时,使用 set 设置该活动的名称 方法。

    • 现在使用 getter() 方法可以查看当前正在运行的 活动。

    【讨论】:

    • 嘿Kiran,如果它对你有用,请接受答案,以便它对其他人有用。
    • StackOverflow 不是广告网站。所以请停止宣传你的答案,让提问者做他喜欢做的事,并选择他认为最有用的答案
    • 似乎您没有正确阅读问题。他想要哪个应用程序在前台(例如用户打开相机、联系人)。
    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多