如何知道我的android应用程序正在接收器中运行



我试着写了一些代码来获取短信,当短信来自特殊号码时,我会做一些事情。我为我的应用程序定义了一个接收器,然后我使用下面的代码来确定应用程序是否正在运行,否则会显示通知。

ActivityManager activityManager = (ActivityManager) context.getSystemService(Activity.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
        for(int i = 0; i < procInfos.size(); i++){
            if(procInfos.get(i).processName.equals(app)){
                // set running
                appState.isRunning = true;
                break;
            }
        }

我通过模拟器测试了这段代码,它总是返回true。我在DDMS中跟踪我的应用程序,发现当我发送短信时,应用程序开始运行,但没有UI。

我该怎么做?

您的应用程序是在接收器运行之前自动创建的(否则它会在哪里运行?)。

如果您想检查应用程序中是否有任何活动,则没有API可以执行此操作,但您可以使用一个计数器,该计数器在onCreate中增加,在onDestroy中减少。

相关内容

最新更新