diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
index e8f61dd..7d30def 100644
--- a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
@@ -16,6 +16,8 @@
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.READ_MEDIA_VIDEO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
@@ -23,12 +25,16 @@
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
}
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
index e8f61dd..7d30def 100644
--- a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
@@ -16,6 +16,8 @@
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.READ_MEDIA_VIDEO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
@@ -23,12 +25,16 @@
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
}
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
new file mode 100644
index 0000000..d4e0d2a
--- /dev/null
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
@@ -0,0 +1,41 @@
+package com.casic.br.ar.app.utils
+
+import android.content.Context
+import android.util.Log
+import com.amap.api.location.AMapLocation
+import com.amap.api.location.AMapLocationClient
+import com.amap.api.location.AMapLocationClientOption
+
+class LocationManager constructor(context: Context) {
+
+ private val kTag = "LocationManager"
+ private val locationClient by lazy { AMapLocationClient(context) }
+
+ fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) {
+ val locationOption = AMapLocationClientOption()
+ locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
+ locationOption.isOnceLocation = isOnceLocation
+ locationOption.isNeedAddress = true
+ locationClient.setLocationOption(locationOption)
+ locationClient.setLocationListener {
+ if (it.errorCode == 0) {
+ listener.onAMapLocationGet(it)
+ } else {
+ listener.onAMapLocationGet(null)
+ Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}")
+ }
+ }
+ locationClient.startLocation()
+ }
+
+ fun stopLocation() {
+ locationClient.stopLocation()
+ }
+
+ /**
+ * 经纬度定位回调
+ * */
+ interface OnGetLocationListener {
+ fun onAMapLocationGet(location: AMapLocation?) //高德定位数据
+ }
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
index e8f61dd..7d30def 100644
--- a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
@@ -16,6 +16,8 @@
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.READ_MEDIA_VIDEO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
@@ -23,12 +25,16 @@
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
}
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
new file mode 100644
index 0000000..d4e0d2a
--- /dev/null
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
@@ -0,0 +1,41 @@
+package com.casic.br.ar.app.utils
+
+import android.content.Context
+import android.util.Log
+import com.amap.api.location.AMapLocation
+import com.amap.api.location.AMapLocationClient
+import com.amap.api.location.AMapLocationClientOption
+
+class LocationManager constructor(context: Context) {
+
+ private val kTag = "LocationManager"
+ private val locationClient by lazy { AMapLocationClient(context) }
+
+ fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) {
+ val locationOption = AMapLocationClientOption()
+ locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
+ locationOption.isOnceLocation = isOnceLocation
+ locationOption.isNeedAddress = true
+ locationClient.setLocationOption(locationOption)
+ locationClient.setLocationListener {
+ if (it.errorCode == 0) {
+ listener.onAMapLocationGet(it)
+ } else {
+ listener.onAMapLocationGet(null)
+ Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}")
+ }
+ }
+ locationClient.startLocation()
+ }
+
+ fun stopLocation() {
+ locationClient.stopLocation()
+ }
+
+ /**
+ * 经纬度定位回调
+ * */
+ interface OnGetLocationListener {
+ fun onAMapLocationGet(location: AMapLocation?) //高德定位数据
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
index 2e588f8..107a95b 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
@@ -105,9 +105,7 @@
val currentTimeMillis = System.currentTimeMillis()
val inspectionDate = currentTimeMillis.timestampToDate()
val startTime = currentTimeMillis.timestampToTime()
- inspectionViewModel.startInspection(
- this, inspectionUser, "北京市", inspectionDate, startTime
- )
+ inspectionViewModel.startInspection(this, inspectionUser, "", inspectionDate, startTime)
inspectionViewModel.addResultModel.observe(this) {
if (it.code == 200) {
RuntimeCache.inspectionId = it.data
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
index e8f61dd..7d30def 100644
--- a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
@@ -16,6 +16,8 @@
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.READ_MEDIA_VIDEO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
@@ -23,12 +25,16 @@
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
}
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
new file mode 100644
index 0000000..d4e0d2a
--- /dev/null
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
@@ -0,0 +1,41 @@
+package com.casic.br.ar.app.utils
+
+import android.content.Context
+import android.util.Log
+import com.amap.api.location.AMapLocation
+import com.amap.api.location.AMapLocationClient
+import com.amap.api.location.AMapLocationClientOption
+
+class LocationManager constructor(context: Context) {
+
+ private val kTag = "LocationManager"
+ private val locationClient by lazy { AMapLocationClient(context) }
+
+ fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) {
+ val locationOption = AMapLocationClientOption()
+ locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
+ locationOption.isOnceLocation = isOnceLocation
+ locationOption.isNeedAddress = true
+ locationClient.setLocationOption(locationOption)
+ locationClient.setLocationListener {
+ if (it.errorCode == 0) {
+ listener.onAMapLocationGet(it)
+ } else {
+ listener.onAMapLocationGet(null)
+ Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}")
+ }
+ }
+ locationClient.startLocation()
+ }
+
+ fun stopLocation() {
+ locationClient.stopLocation()
+ }
+
+ /**
+ * 经纬度定位回调
+ * */
+ interface OnGetLocationListener {
+ fun onAMapLocationGet(location: AMapLocation?) //高德定位数据
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
index 2e588f8..107a95b 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
@@ -105,9 +105,7 @@
val currentTimeMillis = System.currentTimeMillis()
val inspectionDate = currentTimeMillis.timestampToDate()
val startTime = currentTimeMillis.timestampToTime()
- inspectionViewModel.startInspection(
- this, inspectionUser, "北京市", inspectionDate, startTime
- )
+ inspectionViewModel.startInspection(this, inspectionUser, "", inspectionDate, startTime)
inspectionViewModel.addResultModel.observe(this) {
if (it.code == 200) {
RuntimeCache.inspectionId = it.data
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
index b88b940..cb19568 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
@@ -4,7 +4,9 @@
import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProvider
+import com.amap.api.location.AMapLocation
import com.casic.br.ar.app.databinding.ActivityCheckResultBinding
+import com.casic.br.ar.app.utils.LocationManager
import com.casic.br.ar.app.utils.RuntimeCache
import com.casic.br.ar.app.vm.InspectionViewModel
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,6 +17,7 @@
class CheckResultActivity : KotlinBaseActivity() {
private val kTag = "CheckResultActivity"
+ private val locationManager by lazy { LocationManager(this) }
private lateinit var inspectionViewModel: InspectionViewModel
override fun initEvent() {
@@ -22,7 +25,7 @@
inspectionViewModel.stopInspection(
this, RuntimeCache.inspectionId,
System.currentTimeMillis().timestampToCompleteDate(),
- binding.inputSiteView.text.toString()
+ binding.siteView.text.toString()
)
}
@@ -31,6 +34,13 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java]
+ locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener {
+ override fun onAMapLocationGet(location: AMapLocation?) {
+ location?.apply {
+ binding.siteView.text = address
+ }
+ }
+ })
}
override fun initViewBinding(): ActivityCheckResultBinding {
@@ -59,4 +69,9 @@
val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN)
window.decorView.systemUiVisibility = uiOptions
}
+
+ override fun onDestroy() {
+ super.onDestroy()
+ locationManager.stopLocation()
+ }
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 47379b3..9a00059 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -115,6 +115,8 @@
implementation 'io.github.lucksiege:pictureselector:v3.11.1'
//图片压缩
implementation 'top.zibin:Luban:1.1.8'
+ //高德导航、定位、地图三合一
+ implementation 'com.amap.api:navi-3dmap:latest.integration'
//生成二维码
implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2'
implementation project(':sdk')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4cb9a4a..8a5ae57 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,10 @@
android:minSdkVersion="33" />
+
+
+
+
@@ -131,6 +135,14 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
index e8f61dd..7d30def 100644
--- a/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocaleConstant.kt
@@ -16,6 +16,8 @@
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
Manifest.permission.READ_MEDIA_IMAGES,
Manifest.permission.READ_MEDIA_VIDEO,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
@@ -23,12 +25,16 @@
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA
)
}
diff --git a/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
new file mode 100644
index 0000000..d4e0d2a
--- /dev/null
+++ b/app/src/main/java/com/casic/br/ar/app/utils/LocationManager.kt
@@ -0,0 +1,41 @@
+package com.casic.br.ar.app.utils
+
+import android.content.Context
+import android.util.Log
+import com.amap.api.location.AMapLocation
+import com.amap.api.location.AMapLocationClient
+import com.amap.api.location.AMapLocationClientOption
+
+class LocationManager constructor(context: Context) {
+
+ private val kTag = "LocationManager"
+ private val locationClient by lazy { AMapLocationClient(context) }
+
+ fun getCurrentLocation(isOnceLocation: Boolean, listener: OnGetLocationListener) {
+ val locationOption = AMapLocationClientOption()
+ locationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
+ locationOption.isOnceLocation = isOnceLocation
+ locationOption.isNeedAddress = true
+ locationClient.setLocationOption(locationOption)
+ locationClient.setLocationListener {
+ if (it.errorCode == 0) {
+ listener.onAMapLocationGet(it)
+ } else {
+ listener.onAMapLocationGet(null)
+ Log.e(kTag, "errCode:${it.errorCode}, errInfo:${it.errorInfo}")
+ }
+ }
+ locationClient.startLocation()
+ }
+
+ fun stopLocation() {
+ locationClient.stopLocation()
+ }
+
+ /**
+ * 经纬度定位回调
+ * */
+ interface OnGetLocationListener {
+ fun onAMapLocationGet(location: AMapLocation?) //高德定位数据
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
index 2e588f8..107a95b 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
@@ -105,9 +105,7 @@
val currentTimeMillis = System.currentTimeMillis()
val inspectionDate = currentTimeMillis.timestampToDate()
val startTime = currentTimeMillis.timestampToTime()
- inspectionViewModel.startInspection(
- this, inspectionUser, "北京市", inspectionDate, startTime
- )
+ inspectionViewModel.startInspection(this, inspectionUser, "", inspectionDate, startTime)
inspectionViewModel.addResultModel.observe(this) {
if (it.code == 200) {
RuntimeCache.inspectionId = it.data
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
index b88b940..cb19568 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckResultActivity.kt
@@ -4,7 +4,9 @@
import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProvider
+import com.amap.api.location.AMapLocation
import com.casic.br.ar.app.databinding.ActivityCheckResultBinding
+import com.casic.br.ar.app.utils.LocationManager
import com.casic.br.ar.app.utils.RuntimeCache
import com.casic.br.ar.app.vm.InspectionViewModel
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,6 +17,7 @@
class CheckResultActivity : KotlinBaseActivity() {
private val kTag = "CheckResultActivity"
+ private val locationManager by lazy { LocationManager(this) }
private lateinit var inspectionViewModel: InspectionViewModel
override fun initEvent() {
@@ -22,7 +25,7 @@
inspectionViewModel.stopInspection(
this, RuntimeCache.inspectionId,
System.currentTimeMillis().timestampToCompleteDate(),
- binding.inputSiteView.text.toString()
+ binding.siteView.text.toString()
)
}
@@ -31,6 +34,13 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
inspectionViewModel = ViewModelProvider(this)[InspectionViewModel::class.java]
+ locationManager.getCurrentLocation(false, object : LocationManager.OnGetLocationListener {
+ override fun onAMapLocationGet(location: AMapLocation?) {
+ location?.apply {
+ binding.siteView.text = address
+ }
+ }
+ })
}
override fun initViewBinding(): ActivityCheckResultBinding {
@@ -59,4 +69,9 @@
val uiOptions = (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN)
window.decorView.systemUiVisibility = uiOptions
}
+
+ override fun onDestroy() {
+ super.onDestroy()
+ locationManager.stopLocation()
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_check_result.xml b/app/src/main/res/layout/activity_check_result.xml
index c9a82ee..96a8a52 100644
--- a/app/src/main/res/layout/activity_check_result.xml
+++ b/app/src/main/res/layout/activity_check_result.xml
@@ -27,30 +27,28 @@
-
+ android:textColorHint="@color/white"
+ android:textSize="@dimen/sp_16" />