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



我已经创建了一个扫描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,启动服务

最新更新