【问题标题】:check if service is running [duplicate]检查服务是否正在运行[重复]
【发布时间】:2013-04-04 22:17:56
【问题描述】:

我想在用户强制关闭应用程序后检查服务是否正在运行。我怎样才能做到这一点。 我在广播接收器的 onReceive 中执行此操作。但即使在强制关闭后,它也会显示服务正在运行 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();        
    }

【问题讨论】:

  • 你在广播接收器的 onReceive 中表现如何?任何相关代码都会有所帮助。
  • 我已经发布了代码。我到底需要发布什么

标签: android


【解决方案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" />

【讨论】:

  • getSystemServices() 中的参数是什么。我的意思是要检查我的服务
  • 获取ActivityManager的是android.content.Context.ACTIVITY_SERVICE。
  • 对于愚蠢的问题抱歉。
  • 但显示错误。创建常量 ACTIVITY_SERVICE
  • 我必须在清单文件中注册这个alarmManager吗?
猜你喜欢
  • 2013-04-07
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 2015-06-26
  • 2011-05-25
  • 2018-08-13
  • 2012-04-30
相关资源
最近更新 更多