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" />