From 5dff91cfc917e43bbd2f9752fe7f17a4a487aaa4 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 6 May 2024 13:58:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E5=A4=84=E7=90=86=E7=9A=84?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpapp/MicroPhotoService.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java index 7c2d87fc..51054c7b 100644 --- a/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java +++ b/app/src/main/java/com/xypower/mpapp/MicroPhotoService.java @@ -678,6 +678,12 @@ public class MicroPhotoService extends Service { long startTime = (date.getTime() + 999) / 1000; service.updateCaptureSchedule(startTime); + if (mPreviousLocation != null) { + service.updatePosition(mNativeHandle, mPreviousLocation.getLongitude(), mPreviousLocation.getLatitude(), + mPreviousLocation.getAccuracy(), mPreviousLocation.getTime() / 1000); + } + + /* try { Location location = mLocationManager.getLastKnownLocation(mLocateType); if (location != null) { @@ -686,6 +692,8 @@ public class MicroPhotoService extends Service { } catch (Exception ex) { ex.printStackTrace(); } + + */ } } }; @@ -1104,6 +1112,7 @@ cellSignalStrengthGsm.getDbm(); ////////////////////////GPS//////////////////// // private static final String GPS_LOCATION_NAME = android.location.LocationManager.GPS_PROVIDER; private LocationManager mLocationManager; + private Location mPreviousLocation = null; private String mLocateType; private LocationListener mLocationListener = new LocationListener() { @@ -1113,11 +1122,12 @@ cellSignalStrengthGsm.getDbm(); if (mNativeHandle != 0) { updatePosition(mNativeHandle, location.getLongitude(), location.getLatitude(), location.getAccuracy(), location.getTime() / 1000); - - mLocationManager.removeUpdates(this); - // Close GPS - enableGps(false); + } else { + mPreviousLocation = location; } + mLocationManager.removeUpdates(this); + // Close GPS + enableGps(false); Log.i(TAG, "Time:" + location.getTime() + " Lon=" + location.getLongitude() + "Lat=" + location.getLatitude() + "Alt=" + location.getAltitude()); }