使用LocationListener退出后,使用服务的应用程序后GPS仍然保持打开状态

时间:2014-04-01 17:35:15

标签: android gps android-location

我在Nexus 5手机上的应用程序出现问题。它似乎适用于其他手机,如Android 4.4.2的S4。问题:在用户关闭服务应用程序后GPS仍然打开,并且无法执行任何操作将其关闭,只有重新启动才能正常工作。问题发生一段时间后,我怀疑如果服务被OS杀死,问题就会发生,位置列表器似乎不会被操作系统“清除”。

@Override
public void onCreate() {
........
thread = new HandlerThread("thread",
        Process.THREAD_PRIORITY_FOREGROUND);
........
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
...........
if (!thread.isAlive())
    thread.start();

// Acquire a reference to the system Location Manager
lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

lm.removeUpdates(this);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 5, this,
            thread.getLooper());
return START_STICKY;
}

@Override
public void onDestroy() {
    .........
thread.quit();
lm.removeUpdates(this);
    .........
}

0 个答案:

没有答案