|
|
|
@ -131,6 +131,7 @@ public class MicroPhotoService extends Service {
|
|
|
|
|
private ScreenActionReceiver mScreenaAtionReceiver = null;
|
|
|
|
|
private NetworkChangedReceiver mNetworkChangedReceiver = null;
|
|
|
|
|
|
|
|
|
|
private long mGpsTimeout = 60000; // 1 minute
|
|
|
|
|
private PendingIntent mPreviousGpsTimer = null;
|
|
|
|
|
|
|
|
|
|
private ServiceHandler mHander = null;
|
|
|
|
@ -373,7 +374,11 @@ public class MicroPhotoService extends Service {
|
|
|
|
|
String md5 = intent.getStringExtra("md5");
|
|
|
|
|
} else if (TextUtils.equals(ACTION_GPS_TIMEOUT, action)) {
|
|
|
|
|
mService.mPreviousGpsTimer = null;
|
|
|
|
|
mService.mLocationManager.removeUpdates(mService.mLocationListener);
|
|
|
|
|
try {
|
|
|
|
|
mService.mLocationManager.removeUpdates(mService.mLocationListener);
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
mService.enableGps(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1076,6 +1081,35 @@ public class MicroPhotoService extends Service {
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
public void enableGps(boolean enabled) {
|
|
|
|
|
if (enabled) {
|
|
|
|
|
try {
|
|
|
|
|
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
|
|
|
|
|
if (mPreviousGpsTimer != null) {
|
|
|
|
|
alarmManager.cancel(mPreviousGpsTimer);
|
|
|
|
|
mPreviousGpsTimer = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Intent intent = new Intent();
|
|
|
|
|
intent.setAction(ACTION_GPS_TIMEOUT);
|
|
|
|
|
mPreviousGpsTimer = PendingIntent.getBroadcast(this, 0, intent, 0);
|
|
|
|
|
|
|
|
|
|
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + mGpsTimeout, mPreviousGpsTimer);
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (mPreviousGpsTimer != null) {
|
|
|
|
|
try {
|
|
|
|
|
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
|
|
|
|
|
alarmManager.cancel(mPreviousGpsTimer);
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
} finally {
|
|
|
|
|
mPreviousGpsTimer = null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SysApi.enableGps(getApplicationContext(), enabled);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|