diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
index b421b01..ef9de35 100644
--- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
@@ -1,5 +1,6 @@
package com.casic.dcms.ui;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -17,6 +18,7 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
@@ -116,21 +118,38 @@
@Override
public void initData() {
- double lng = getIntent().getDoubleExtra("lng", Constant.DEFAULT_LNG);
- double lat = getIntent().getDoubleExtra("lat", Constant.DEFAULT_LAT);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- locationStreetView.setText("定位成功");
- } else {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
}
}, false);
-
mapView.setAttributionTextVisible(false);//去掉左下角属性标识
- mapView.setViewpointScaleAsync(18000);
+ mapView.setViewpointScaleAsync(12000);
ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS);
//创建底图、并设置底图图层
@@ -139,11 +158,6 @@
arcGISMap.setBasemap(basemap);
mapView.setMap(arcGISMap);
- Point point = new Point(lng, lat, mapView.getSpatialReference());
- mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示
- //添加图片Marker
- addPictureMarker(point);
-
uploadImagePresenter = new UploadImagePresenterImpl(this);
cleanToiletPresenter = new CleanToiletPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
@@ -184,13 +198,35 @@
switch (v.getId()) {
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()));
- loadingDialog.dismiss();
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -246,26 +282,48 @@
.forResult(PictureConfig.REQUEST_CAMERA);
break;
case R.id.signInButton:
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
+
+ //打扫卫生签到
String toiletId = toiletIdView.getText().toString();
if (TextUtils.isEmpty(toiletId)) {
ToastHelper.showToast("公厕标识不能为空", ToastHelper.WARING);
return;
}
-
- double longitude = location.getLongitude();
- double latitude = location.getLatitude();
-
+ double longitude = aMapLocation.getLongitude();
+ double latitude = aMapLocation.getLatitude();
String cleanTime = TimeOrDateUtil.timestampToDate(System.currentTimeMillis());
cleanToiletPresenter.onReadyRetrofitRequest(toiletId, StringHelper.getUserId(),
String.valueOf(longitude), String.valueOf(latitude), cleanTime, imagePath,
StringHelper.filterString(workContentView.getText().toString()));
- } else {
- ToastHelper.showToast("定位失败,无法签到", ToastHelper.WARING);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -275,7 +333,7 @@
private void showEditDialog(String tag) {
if (tag.equals("自定义")) {
QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
- builder.setTitle("自定义工作内容")
+ builder.setTitle("工作内容")
.setPlaceholder("请输入您此次的工作内容")
.setInputType(InputType.TYPE_CLASS_TEXT)
.addAction("取消", (dialog, index) -> dialog.dismiss())
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
index b421b01..ef9de35 100644
--- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
@@ -1,5 +1,6 @@
package com.casic.dcms.ui;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -17,6 +18,7 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
@@ -116,21 +118,38 @@
@Override
public void initData() {
- double lng = getIntent().getDoubleExtra("lng", Constant.DEFAULT_LNG);
- double lat = getIntent().getDoubleExtra("lat", Constant.DEFAULT_LAT);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- locationStreetView.setText("定位成功");
- } else {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
}
}, false);
-
mapView.setAttributionTextVisible(false);//去掉左下角属性标识
- mapView.setViewpointScaleAsync(18000);
+ mapView.setViewpointScaleAsync(12000);
ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS);
//创建底图、并设置底图图层
@@ -139,11 +158,6 @@
arcGISMap.setBasemap(basemap);
mapView.setMap(arcGISMap);
- Point point = new Point(lng, lat, mapView.getSpatialReference());
- mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示
- //添加图片Marker
- addPictureMarker(point);
-
uploadImagePresenter = new UploadImagePresenterImpl(this);
cleanToiletPresenter = new CleanToiletPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
@@ -184,13 +198,35 @@
switch (v.getId()) {
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()));
- loadingDialog.dismiss();
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -246,26 +282,48 @@
.forResult(PictureConfig.REQUEST_CAMERA);
break;
case R.id.signInButton:
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
+
+ //打扫卫生签到
String toiletId = toiletIdView.getText().toString();
if (TextUtils.isEmpty(toiletId)) {
ToastHelper.showToast("公厕标识不能为空", ToastHelper.WARING);
return;
}
-
- double longitude = location.getLongitude();
- double latitude = location.getLatitude();
-
+ double longitude = aMapLocation.getLongitude();
+ double latitude = aMapLocation.getLatitude();
String cleanTime = TimeOrDateUtil.timestampToDate(System.currentTimeMillis());
cleanToiletPresenter.onReadyRetrofitRequest(toiletId, StringHelper.getUserId(),
String.valueOf(longitude), String.valueOf(latitude), cleanTime, imagePath,
StringHelper.filterString(workContentView.getText().toString()));
- } else {
- ToastHelper.showToast("定位失败,无法签到", ToastHelper.WARING);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -275,7 +333,7 @@
private void showEditDialog(String tag) {
if (tag.equals("自定义")) {
QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
- builder.setTitle("自定义工作内容")
+ builder.setTitle("工作内容")
.setPlaceholder("请输入您此次的工作内容")
.setInputType(InputType.TYPE_CLASS_TEXT)
.addAction("取消", (dialog, index) -> dialog.dismiss())
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
index df6a3c9..bb2a79d 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
@@ -185,7 +185,7 @@
String lng = bean.getPositionLng();
String lat = bean.getPositionLat();
if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) {
- Log.d(TAG, "案卷经纬度异常");
+ Log.d(TAG, "经纬度异常");
} else {
PointPersonBean personBean = new PointPersonBean();
personBean.setPersonName(bean.getName());
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
index b421b01..ef9de35 100644
--- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
@@ -1,5 +1,6 @@
package com.casic.dcms.ui;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -17,6 +18,7 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
@@ -116,21 +118,38 @@
@Override
public void initData() {
- double lng = getIntent().getDoubleExtra("lng", Constant.DEFAULT_LNG);
- double lat = getIntent().getDoubleExtra("lat", Constant.DEFAULT_LAT);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- locationStreetView.setText("定位成功");
- } else {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
}
}, false);
-
mapView.setAttributionTextVisible(false);//去掉左下角属性标识
- mapView.setViewpointScaleAsync(18000);
+ mapView.setViewpointScaleAsync(12000);
ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS);
//创建底图、并设置底图图层
@@ -139,11 +158,6 @@
arcGISMap.setBasemap(basemap);
mapView.setMap(arcGISMap);
- Point point = new Point(lng, lat, mapView.getSpatialReference());
- mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示
- //添加图片Marker
- addPictureMarker(point);
-
uploadImagePresenter = new UploadImagePresenterImpl(this);
cleanToiletPresenter = new CleanToiletPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
@@ -184,13 +198,35 @@
switch (v.getId()) {
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()));
- loadingDialog.dismiss();
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -246,26 +282,48 @@
.forResult(PictureConfig.REQUEST_CAMERA);
break;
case R.id.signInButton:
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
+
+ //打扫卫生签到
String toiletId = toiletIdView.getText().toString();
if (TextUtils.isEmpty(toiletId)) {
ToastHelper.showToast("公厕标识不能为空", ToastHelper.WARING);
return;
}
-
- double longitude = location.getLongitude();
- double latitude = location.getLatitude();
-
+ double longitude = aMapLocation.getLongitude();
+ double latitude = aMapLocation.getLatitude();
String cleanTime = TimeOrDateUtil.timestampToDate(System.currentTimeMillis());
cleanToiletPresenter.onReadyRetrofitRequest(toiletId, StringHelper.getUserId(),
String.valueOf(longitude), String.valueOf(latitude), cleanTime, imagePath,
StringHelper.filterString(workContentView.getText().toString()));
- } else {
- ToastHelper.showToast("定位失败,无法签到", ToastHelper.WARING);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -275,7 +333,7 @@
private void showEditDialog(String tag) {
if (tag.equals("自定义")) {
QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
- builder.setTitle("自定义工作内容")
+ builder.setTitle("工作内容")
.setPlaceholder("请输入您此次的工作内容")
.setInputType(InputType.TYPE_CLASS_TEXT)
.addAction("取消", (dialog, index) -> dialog.dismiss())
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
index df6a3c9..bb2a79d 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
@@ -185,7 +185,7 @@
String lng = bean.getPositionLng();
String lat = bean.getPositionLat();
if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) {
- Log.d(TAG, "案卷经纬度异常");
+ Log.d(TAG, "经纬度异常");
} else {
PointPersonBean personBean = new PointPersonBean();
personBean.setPersonName(bean.getName());
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 9f864db..d948e35 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -9,7 +9,7 @@
import java.util.List;
public class Constant {
- public static final String[] USER_PERMISSIONS = {
+ public static final String[] USER_PERMISSIONS = {Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
@@ -65,7 +65,7 @@
public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
- //正是环境
+ //正式环境
// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图
// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
index b421b01..ef9de35 100644
--- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
@@ -1,5 +1,6 @@
package com.casic.dcms.ui;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -17,6 +18,7 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
@@ -116,21 +118,38 @@
@Override
public void initData() {
- double lng = getIntent().getDoubleExtra("lng", Constant.DEFAULT_LNG);
- double lat = getIntent().getDoubleExtra("lat", Constant.DEFAULT_LAT);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- locationStreetView.setText("定位成功");
- } else {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
}
}, false);
-
mapView.setAttributionTextVisible(false);//去掉左下角属性标识
- mapView.setViewpointScaleAsync(18000);
+ mapView.setViewpointScaleAsync(12000);
ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS);
//创建底图、并设置底图图层
@@ -139,11 +158,6 @@
arcGISMap.setBasemap(basemap);
mapView.setMap(arcGISMap);
- Point point = new Point(lng, lat, mapView.getSpatialReference());
- mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示
- //添加图片Marker
- addPictureMarker(point);
-
uploadImagePresenter = new UploadImagePresenterImpl(this);
cleanToiletPresenter = new CleanToiletPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
@@ -184,13 +198,35 @@
switch (v.getId()) {
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()));
- loadingDialog.dismiss();
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -246,26 +282,48 @@
.forResult(PictureConfig.REQUEST_CAMERA);
break;
case R.id.signInButton:
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
+
+ //打扫卫生签到
String toiletId = toiletIdView.getText().toString();
if (TextUtils.isEmpty(toiletId)) {
ToastHelper.showToast("公厕标识不能为空", ToastHelper.WARING);
return;
}
-
- double longitude = location.getLongitude();
- double latitude = location.getLatitude();
-
+ double longitude = aMapLocation.getLongitude();
+ double latitude = aMapLocation.getLatitude();
String cleanTime = TimeOrDateUtil.timestampToDate(System.currentTimeMillis());
cleanToiletPresenter.onReadyRetrofitRequest(toiletId, StringHelper.getUserId(),
String.valueOf(longitude), String.valueOf(latitude), cleanTime, imagePath,
StringHelper.filterString(workContentView.getText().toString()));
- } else {
- ToastHelper.showToast("定位失败,无法签到", ToastHelper.WARING);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -275,7 +333,7 @@
private void showEditDialog(String tag) {
if (tag.equals("自定义")) {
QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
- builder.setTitle("自定义工作内容")
+ builder.setTitle("工作内容")
.setPlaceholder("请输入您此次的工作内容")
.setInputType(InputType.TYPE_CLASS_TEXT)
.addAction("取消", (dialog, index) -> dialog.dismiss())
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
index df6a3c9..bb2a79d 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
@@ -185,7 +185,7 @@
String lng = bean.getPositionLng();
String lat = bean.getPositionLat();
if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) {
- Log.d(TAG, "案卷经纬度异常");
+ Log.d(TAG, "经纬度异常");
} else {
PointPersonBean personBean = new PointPersonBean();
personBean.setPersonName(bean.getName());
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 9f864db..d948e35 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -9,7 +9,7 @@
import java.util.List;
public class Constant {
- public static final String[] USER_PERMISSIONS = {
+ public static final String[] USER_PERMISSIONS = {Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
@@ -65,7 +65,7 @@
public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
- //正是环境
+ //正式环境
// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图
// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
diff --git a/app/src/main/java/com/casic/dcms/utils/LocationHelper.java b/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
index 947535e..c69557a 100644
--- a/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
@@ -7,9 +7,14 @@
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
+import android.util.Log;
import androidx.core.app.ActivityCompat;
+import com.amap.api.location.AMapLocation;
+import com.amap.api.location.AMapLocationClient;
+import com.amap.api.location.AMapLocationClientOption;
+import com.amap.api.location.AMapLocationListener;
import com.casic.dcms.utils.callback.ICommunityListener;
import com.casic.dcms.utils.callback.ILocationListener;
import com.esri.arcgisruntime.concurrent.ListenableFuture;
@@ -23,11 +28,53 @@
import java.util.Iterator;
public class LocationHelper {
+
+ private static final String TAG = "LocationHelper";
+
/**
- * 获取当前定位
+ * 高德sdk定位
+ */
+ public static void obtainCurrentLocationByGD(Context context, ILocationListener listener, boolean isOnce) {
+ AMapLocationClient mLocationClient = new AMapLocationClient(context);
+ AMapLocationClientOption mLocationOption = new AMapLocationClientOption();
+ //设置定位模式为高精度模式,AMapLocationMode.Battery_Saving为低功耗模式,AMapLocationMode.Device_Sensors是仅设备模式
+ mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
+ mLocationOption.setNeedAddress(true);//设置是否返回地址信息(默认返回地址信息)
+ mLocationOption.setOnceLocation(isOnce);//设置是否只定位一次,默认为false
+ mLocationOption.setWifiActiveScan(true);//设置是否强制刷新WIFI,默认为强制刷新
+ mLocationOption.setMockEnable(false);//设置是否允许模拟位置,默认为false,不允许模拟位置
+ mLocationOption.setInterval(15000);//设置定位间隔,单位毫秒,默认为2000ms
+ mLocationOption.setWifiScan(true); //可选,设置是否开启wifi扫描。默认为true,如果设置为false会同时停止主动刷新,停止以后完全依赖于系统刷新,定位位置可能存在误差
+ mLocationOption.setLocationCacheEnable(true); //可选,设置是否使用缓存定位,默认为true
+ //给定位客户端对象设置定位参数
+ mLocationClient.setLocationOption(mLocationOption);
+ //设置定位回调监听
+ mLocationClient.setLocationListener(new AMapLocationListener() {
+ @Override
+ public void onLocationChanged(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ if (aMapLocation.getErrorCode() == 0) {
+ listener.onAMapLocationGet(aMapLocation);
+// mLocationClient.stopLocation();//停止定位
+ } else {
+ listener.onAMapLocationGet(null);
+ //显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
+ Log.e(TAG, "location Error, ErrCode:" + aMapLocation.getErrorCode()
+ + ", errInfo:" + aMapLocation.getErrorInfo());
+ }
+ }
+ }
+ });
+ //启动定位
+ mLocationClient.startLocation();
+ }
+
+ /**
+ * 原生GSP获取当前定位
*/
public static void obtainCurrentLocation(Context context, ILocationListener listener, boolean isOnce) {
- if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
+ if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS) != PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
diff --git a/app/build.gradle b/app/build.gradle
index 1cc4d59..479c061 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@
applicationId "com.casic.dcms"
minSdkVersion 21
targetSdkVersion 30
- versionCode 12
- versionName "v1.0.0.4"
+ versionCode 13
+ versionName "v1.0.0.5"
ndk { abiFilters "armeabi", "armeabi-v7a", "x86_64", "x86" }
@@ -96,4 +96,6 @@
implementation 'com.tencent.bugly:crashreport:3.3.92'
//ZBar扫一扫(综合Java和C++扫码)
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
+ //定位功能
+ implementation 'com.amap.api:location:latest.integration'
}
diff --git a/app/dcms_key b/app/dcms_key
deleted file mode 100644
index bcb2319..0000000
--- a/app/dcms_key
+++ /dev/null
Binary files differ
diff --git a/app/dcms_key.jks b/app/dcms_key.jks
new file mode 100644
index 0000000..bcb2319
--- /dev/null
+++ b/app/dcms_key.jks
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 92c60e5..02c6eb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,14 +3,18 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.casic.dcms">
+
+
+
-
-
+
+
+
@@ -151,6 +155,7 @@
android:resource="@xml/file_paths" />
+
@@ -165,6 +170,14 @@
android:name=".service.GeTuiIntentService"
android:permission="android.permission.BIND_JOB_SERVICE" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
index a7ff4f7..4758703 100644
--- a/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
+++ b/app/src/main/java/com/casic/dcms/service/UploadLocationService.java
@@ -10,6 +10,7 @@
import androidx.annotation.Nullable;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.ui.MainActivity;
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.LocationHelper;
@@ -27,18 +28,23 @@
@Override
public void onCreate() {
super.onCreate();
- Log.d(TAG, "onCreate: UploadLocationService");
NotificationHelper notificationHelper = NotificationHelper.getInstance(this);
Notification notification = notificationHelper.createKeepAlive();
startForeground(Integer.MAX_VALUE, notification);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ Log.d(TAG, "onAMapLocationGet: UploadLocationService");
Message message = Message.obtain();
message.what = Constant.UPLOAD_LOCATION;
- message.obj = location;
+ message.obj = aMapLocation;
MainActivity.sendMessage(message);
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
index 552cb77..c6ce5f6 100644
--- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java
@@ -11,6 +11,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.bean.PointFutureBean;
@@ -384,11 +385,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()), 1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
index 0cd126c..a6dfcd9 100644
--- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java
@@ -8,6 +8,7 @@
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.base.BaseActivity;
import com.casic.dcms.utils.Constant;
@@ -141,11 +142,16 @@
break;
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()),1000);
+
+ }
+
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ mapView.setViewpointCenterAsync(new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude()), 1000);
loadingDialog.dismiss();
}
}
diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
index 42028a8..5fdaf66 100644
--- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java
@@ -3,7 +3,6 @@
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
-import android.location.Location;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
@@ -16,6 +15,7 @@
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.amap.api.location.AMapLocation;
import com.casic.dcms.R;
import com.casic.dcms.adapter.MainPageAdapter;
import com.casic.dcms.base.DoubleClickExitActivity;
@@ -204,9 +204,9 @@
break;
case Constant.UPLOAD_LOCATION:
Log.d(TAG, "位置上报");
- Location location = (Location) msg.obj;
+ AMapLocation aMapLocation = (AMapLocation) msg.obj;
mainActivity.uploadPositionPresenter.onReadyRetrofitRequest(mainActivity.imei,
- String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude()));
+ String.valueOf(aMapLocation.getLatitude()), String.valueOf(aMapLocation.getLongitude()));
break;
case Constant.LOGIN_OUT:
Log.d(TAG, "退出登录");
diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
index b421b01..ef9de35 100644
--- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java
@@ -1,5 +1,6 @@
package com.casic.dcms.ui;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -17,6 +18,7 @@
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
+import com.amap.api.location.AMapLocation;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.casic.dcms.R;
@@ -116,21 +118,38 @@
@Override
public void initData() {
- double lng = getIntent().getDoubleExtra("lng", Constant.DEFAULT_LNG);
- double lat = getIntent().getDoubleExtra("lat", Constant.DEFAULT_LAT);
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- locationStreetView.setText("定位成功");
- } else {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
}
}, false);
-
mapView.setAttributionTextVisible(false);//去掉左下角属性标识
- mapView.setViewpointScaleAsync(18000);
+ mapView.setViewpointScaleAsync(12000);
ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS);
//创建底图、并设置底图图层
@@ -139,11 +158,6 @@
arcGISMap.setBasemap(basemap);
mapView.setMap(arcGISMap);
- Point point = new Point(lng, lat, mapView.getSpatialReference());
- mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示
- //添加图片Marker
- addPictureMarker(point);
-
uploadImagePresenter = new UploadImagePresenterImpl(this);
cleanToiletPresenter = new CleanToiletPresenterImpl(this);
submitDialog = new QMUITipDialog.Builder(this)
@@ -184,13 +198,35 @@
switch (v.getId()) {
case R.id.removeToLocalView:
loadingDialog.show();
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
- mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude()));
- loadingDialog.dismiss();
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -246,26 +282,48 @@
.forResult(PictureConfig.REQUEST_CAMERA);
break;
case R.id.signInButton:
- LocationHelper.obtainCurrentLocation(this, new ILocationListener() {
+ LocationHelper.obtainCurrentLocationByGD(this, new ILocationListener() {
@Override
public void onLocationGet(Location location) {
- if (location != null) {
+
+ }
+
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void onAMapLocationGet(AMapLocation aMapLocation) {
+ if (aMapLocation == null) {
+ locationStreetView.setText("定位失败");
+ locationStreetView.setTextColor(Color.RED);
+ } else {
+ Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), mapView.getSpatialReference());
+ mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示
+ //添加图片Marker
+ addPictureMarker(point);
+
+ String address = aMapLocation.getAddress();
+ if (TextUtils.isEmpty(address)) {
+ locationStreetView.setText(aMapLocation.getProvince()
+ + aMapLocation.getCity() + aMapLocation.getDistrict()
+ + aMapLocation.getStreet() + aMapLocation.getStreetNum());
+ } else {
+ locationStreetView.setText(address);
+ }
+ locationStreetView.setTextColor(Color.BLUE);
+
+ //打扫卫生签到
String toiletId = toiletIdView.getText().toString();
if (TextUtils.isEmpty(toiletId)) {
ToastHelper.showToast("公厕标识不能为空", ToastHelper.WARING);
return;
}
-
- double longitude = location.getLongitude();
- double latitude = location.getLatitude();
-
+ double longitude = aMapLocation.getLongitude();
+ double latitude = aMapLocation.getLatitude();
String cleanTime = TimeOrDateUtil.timestampToDate(System.currentTimeMillis());
cleanToiletPresenter.onReadyRetrofitRequest(toiletId, StringHelper.getUserId(),
String.valueOf(longitude), String.valueOf(latitude), cleanTime, imagePath,
StringHelper.filterString(workContentView.getText().toString()));
- } else {
- ToastHelper.showToast("定位失败,无法签到", ToastHelper.WARING);
}
+ loadingDialog.dismiss();
}
}, true);
break;
@@ -275,7 +333,7 @@
private void showEditDialog(String tag) {
if (tag.equals("自定义")) {
QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context);
- builder.setTitle("自定义工作内容")
+ builder.setTitle("工作内容")
.setPlaceholder("请输入您此次的工作内容")
.setInputType(InputType.TYPE_CLASS_TEXT)
.addAction("取消", (dialog, index) -> dialog.dismiss())
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
index df6a3c9..bb2a79d 100644
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
+++ b/app/src/main/java/com/casic/dcms/ui/fragment/PersonOnMapFragment.java
@@ -185,7 +185,7 @@
String lng = bean.getPositionLng();
String lat = bean.getPositionLat();
if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) {
- Log.d(TAG, "案卷经纬度异常");
+ Log.d(TAG, "经纬度异常");
} else {
PointPersonBean personBean = new PointPersonBean();
personBean.setPersonName(bean.getName());
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 9f864db..d948e35 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -9,7 +9,7 @@
import java.util.List;
public class Constant {
- public static final String[] USER_PERMISSIONS = {
+ public static final String[] USER_PERMISSIONS = {Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
@@ -65,7 +65,7 @@
public static final String BASE_MAP_NO_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
public static final String COMPONENT_SERVICE_URL = "http://111.198.10.15:13002/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
- //正是环境
+ //正式环境
// public static final String BASE_MAP_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt/MapServer";//崇仁城管地图底图
// public static final String BASE_MAP_NO_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crdt_1/MapServer";//崇仁城管地图不带网格底图
// public static final String COMPONENT_SERVICE_URL = "http://223.82.47.232:11408/arcgis/rest/services/crbj/FeatureServer";//崇仁部件图层
diff --git a/app/src/main/java/com/casic/dcms/utils/LocationHelper.java b/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
index 947535e..c69557a 100644
--- a/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/LocationHelper.java
@@ -7,9 +7,14 @@
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
+import android.util.Log;
import androidx.core.app.ActivityCompat;
+import com.amap.api.location.AMapLocation;
+import com.amap.api.location.AMapLocationClient;
+import com.amap.api.location.AMapLocationClientOption;
+import com.amap.api.location.AMapLocationListener;
import com.casic.dcms.utils.callback.ICommunityListener;
import com.casic.dcms.utils.callback.ILocationListener;
import com.esri.arcgisruntime.concurrent.ListenableFuture;
@@ -23,11 +28,53 @@
import java.util.Iterator;
public class LocationHelper {
+
+ private static final String TAG = "LocationHelper";
+
/**
- * 获取当前定位
+ * 高德sdk定位
+ */
+ public static void obtainCurrentLocationByGD(Context context, ILocationListener listener, boolean isOnce) {
+ AMapLocationClient mLocationClient = new AMapLocationClient(context);
+ AMapLocationClientOption mLocationOption = new AMapLocationClientOption();
+ //设置定位模式为高精度模式,AMapLocationMode.Battery_Saving为低功耗模式,AMapLocationMode.Device_Sensors是仅设备模式
+ mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
+ mLocationOption.setNeedAddress(true);//设置是否返回地址信息(默认返回地址信息)
+ mLocationOption.setOnceLocation(isOnce);//设置是否只定位一次,默认为false
+ mLocationOption.setWifiActiveScan(true);//设置是否强制刷新WIFI,默认为强制刷新
+ mLocationOption.setMockEnable(false);//设置是否允许模拟位置,默认为false,不允许模拟位置
+ mLocationOption.setInterval(15000);//设置定位间隔,单位毫秒,默认为2000ms
+ mLocationOption.setWifiScan(true); //可选,设置是否开启wifi扫描。默认为true,如果设置为false会同时停止主动刷新,停止以后完全依赖于系统刷新,定位位置可能存在误差
+ mLocationOption.setLocationCacheEnable(true); //可选,设置是否使用缓存定位,默认为true
+ //给定位客户端对象设置定位参数
+ mLocationClient.setLocationOption(mLocationOption);
+ //设置定位回调监听
+ mLocationClient.setLocationListener(new AMapLocationListener() {
+ @Override
+ public void onLocationChanged(AMapLocation aMapLocation) {
+ if (aMapLocation != null) {
+ if (aMapLocation.getErrorCode() == 0) {
+ listener.onAMapLocationGet(aMapLocation);
+// mLocationClient.stopLocation();//停止定位
+ } else {
+ listener.onAMapLocationGet(null);
+ //显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
+ Log.e(TAG, "location Error, ErrCode:" + aMapLocation.getErrorCode()
+ + ", errInfo:" + aMapLocation.getErrorInfo());
+ }
+ }
+ }
+ });
+ //启动定位
+ mLocationClient.startLocation();
+ }
+
+ /**
+ * 原生GSP获取当前定位
*/
public static void obtainCurrentLocation(Context context, ILocationListener listener, boolean isOnce) {
- if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
+ if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS) != PackageManager.PERMISSION_GRANTED
+ && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ILocationListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ILocationListener.java
index 2c61981..0af1394 100644
--- a/app/src/main/java/com/casic/dcms/utils/callback/ILocationListener.java
+++ b/app/src/main/java/com/casic/dcms/utils/callback/ILocationListener.java
@@ -2,6 +2,10 @@
import android.location.Location;
+import com.amap.api.location.AMapLocation;
+
public interface ILocationListener {
- void onLocationGet(Location location);
+ void onLocationGet(Location location);//原生GPS定位数据
+
+ void onAMapLocationGet(AMapLocation aMapLocation);//高德定位数据
}