0

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

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 中跟踪我的应用程序,并找出当我发送 SMS 时应用程序开始运行但没有 UI。

我怎样才能做到这一点?

4

1 回答 1

1

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

如果你想检查你的应用程序中是否有任何活动,没有 API 可以做到这一点,但你可以只拥有一个在 .in 中增加onCreate和减少的计数器onDestroy

于 2015-04-02T21:45:57.700 回答