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

How to know my android app is running in the receiver?

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

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;
            }
        }

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

我该怎么做?

您的应用程序 automatically created 在其接收者可以 运行 之前(否则它会 运行 在哪里?)。

如果你想检查你的应用程序中是否有任何 activity,没有 API 可以做到这一点,但你可以有一个在 onCreate 中增加的计数器并在 onDestroy.

中减少