android - 检查 Activity 是否从 Service 运行

标签 android android-activity android-service

Service 如何检查其应用程序之一 Activity 是否在前台运行?

最佳答案

将以下方法与您的包名称一起使用。如果您的任何 Activity 在前台,它将返回 true。

public boolean isForeground(String myPackage) {
    ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> runningTaskInfo = manager.getRunningTasks(1); 
    ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
    return componentInfo.getPackageName().equals(myPackage);
}

Update:

添加权限:

<uses-permission android:name="android.permission.GET_TASKS" />

关于android - 检查 Activity 是否从 Service 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172092/

相关文章:

Android - 如何动态更改首选项 Activity 中的文本?

android - 显示 Activity 并在加载其元素后

android - webView 和缩放范围

java - 如何关闭列表 Activity 点击上的滑动菜单

android - 通过全局变量通信服务和Activity

android - 通过Android后台服务Kotlin轮询在线打印机队列

android - 如何在锁定屏幕上执行通知操作(点击)?

android - 服务内的 BroadcastReceiver 未处理通知操作的广播

java - 为什么我会收到错误 "package org.mockito.runners does not exist"?

android - 使用包名启动应用程序