@Override public void onDestroy() { super.onDestroy(); SLog.d(TAG, "Destroying Service " + this.toString()); // disconnect web socket if (connection != null && connection.isConnected()) connection.disconnect(); // detach active parsing task to prevent NPE if (parseTask != null) { parseTask.detachCallback(); } // remove location update if (locationClient != null && locationClient.isConnected() && locationListener != null) { locationClient.removeLocationUpdates(locationListener); } }
/** handle incoming message */ private void handleMessage(String message, WakeLock wakelock) { parseTask = new ParseMapPointsAsyncTask(message); parseTask.attachCallback(new ParseMapPointsCallback(wakelock)); // parse in background parseTask.execute(); }