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

时间:2015-04-02 20:42:36

标签: android activity-manager

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

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中跟踪我的应用程序并找出我发送短信时应用程序开始运行但没有用户界面。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

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

如果您想检查应用程序中是否有任何活动,则没有API可以执行此操作,但您可以在[{1}}中增加一个计数器,并在onCreate中减少。< / p>