如何检测我的Android应用程序是否显示?

Lys*_*dus 2 android

我有一个Android应用程序,其服务在后台运行,执行各种客户端/服务器连接.如果显示我的应用程序中的任何屏幕,如何检查我的正在运行的服务?

pan*_*dre 5

您可以获取正在运行的进程列表,并使用以下代码检查您的进程是否在前台:

ActivityManager actMngr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

List<RunningAppProcessInfo> runningAppProcesses = actMngr.getRunningAppProcesses();
for (RunningAppProcessInfo pi : runningAppProcesses) {
    if (getPackageName().equals(pi.processName)) {

        boolean inForeground = pi.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
    }
}
Run Code Online (Sandbox Code Playgroud)

请访问http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html查看更多信息.