我想在用户强制关闭应用程序后检查服务是否正在运行。我怎样才能做到这一点。 我在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();
}
答案 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" />