我创建了一个扫描ibeacons的服务,并在按钮点击时开始使用Activity
。它工作正常,但当我关闭活动时,服务会自动停止并重新启动。在重启时,服务无法检测到ibeacon。
我希望它是这样的,一旦你启动服务它一直运行。
所以请帮助我..提前致谢...
答案 0 :(得分:0)
在您启动服务之前,请使用以下代码检查服务是否已在运行
/** 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 - &gt;包裹名字。 MyBackgroundService - &gt;这是您的服务类名称
如果返回true,则服务已经在运行,那时你不启动服务 如果是假则启动服务