为什么服务在关闭活动后重新启动?

时间:2014-06-25 12:26:57

标签: android service

我创建了一个扫描ibeacons的服务,并在按钮点击时开始使用Activity。它工作正常,但当我关闭活动时,服务会自动停止并重新启动。在重启时,服务无法检测到ibeacon。 我希望它是这样的,一旦你启动服务它一直运行。 所以请帮助我..提前致谢...

1 个答案:

答案 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,则服务已经在运行,那时你不启动服务 如果是假则启动服务