我已经创建了一个扫描ibeacons的服务,并开始使用Activity
on按钮单击。它工作得很好,但当我关闭该活动时,服务停止并自动重新启动。重新启动时,服务无法检测到ibeacon。我希望它是这样的,一旦你启动服务,它一直运行。所以请帮帮我…
在启动服务之前,使用以下代码检查服务是否已经运行
/** is service running */
public static boolean isServiceRunning(Context mContext) {
boolean serviceRunning = false;
try{
ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> l = am.getRunningServices(50);
Iterator<ActivityManager.RunningServiceInfo> i = l.iterator();
while (i.hasNext()) {
ActivityManager.RunningServiceInfo runningServiceInfo = (ActivityManager.RunningServiceInfo) i.next();
if (runningServiceInfo.service.getClassName().equals("com.manikanta.testapp.MyBackgroundService")) {
serviceRunning = true;
}
}
}catch(Exception e){
e.printStackTrace();
}
return serviceRunning;
}
com.manikanta。testapp ->包名。MyBackgroundService ->这是你的服务类名
如果返回true service is already running,则不启动该服务如果为false,启动服务