检查服务是否正在运行

时间:2013-04-12 11:42:57

标签: android

我想在用户强制关闭应用程序后检查服务是否正在运行。我怎样才能做到这一点。           我在onReceive的broadcastReceiver中做这个。但即使在强制关闭后,它也会显示运行Toast的服务。

   boolean isServiceRunning = AppSettings.getServiceRunning(context);       
    if (isServiceRunning)
    {
        Toast.makeText(context,"service running", Toast.LENGTH_LONG).show();

    } 
    else 
    {   
        Toast.makeText(context,"service stopped", Toast.LENGTH_LONG).show();        
    }

1 个答案:

答案 0 :(得分:1)

试试这个:

public boolean checkRunningService() {
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        for (RunningServiceInfo myService : activityManager
                .getRunningServices(Integer.MAX_VALUE)) {
            if ("com.main.YOUR_SERVICE_NAME".equals(myService.service
                    .getClassName())) {
                return true;
            }
        }
        return false;
    }

希望这有帮助。

修改: -

清单文件中的服务应如下所示:

<service
            android:name="com.main.YOUR_SERVICE_NAME"
            android:enabled="true" />