Преглед изворни кода

1.修改百度定位发送由百度自己的监听控制。

20241218TB223FC(测试jar包)
wangwanlei пре 11 месеци
родитељ
комит
3637eaad8b

+ 42
- 56
app/src/main/java/com/xhly/manageapp/ui/main/activity/MainActivity.kt Прегледај датотеку

@@ -921,66 +921,52 @@ class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),Download
921 921
 
922 922
     private fun baiduLocation(){
923 923
         LocationClient.setAgreePrivacy(true)
924
-        if (locationClient!=null){
925
-            LogShow("开始定位")
926
-            locationClient?.start()
927
-        }else{
928
-            LogShow("重新定位")
929
-            locationClient = LocationClient(application)
930
-            val option = LocationClientOption()
931
-            option.locationMode=LocationClientOption.LocationMode.Hight_Accuracy
932
-            //可选,设置返回经纬度坐标类型,默认gcj02
933
-            //gcj02:国测局坐标;
934
-            //bd09ll:百度经纬度坐标;
935
-            option.setCoorType("bd09ll")
936
-            option.setFirstLocType(LocationClientOption.FirstLocType.ACCURACY_IN_FIRST_LOC)
937
-            //可选,设置发起定位请求的间隔,int类型,单位ms,改为由定时任务动态调用
938
-            /*  option.setScanSpan(1000*60*5)*/
939
-            //设置是否使用卫星定位
940
-            option.setOpenGnss(true)
941
-            //设置是否当卫星定位有效时按照1S/1次频率输出卫星定位结果
942
-            option.setLocationNotify(true)
943
-            //设置是否需要过滤卫星定位仿真结果,默认需要,即参数为false
944
-            option.setEnableSimulateGnss(false)
945
-            //可选,设置是否需要最新版本的地址信息。默认需要,即参数为true
946
-            option.setNeedNewVersionRgc(true)
947
-            option.setIsNeedAddress(true)
948
-            locationClient?.locOption=option
949
-            locationClient?.registerLocationListener(object :BDAbstractLocationListener(){
950
-                override fun onReceiveLocation(bdLocation: BDLocation) {
951
-                    //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
952
-                    val latitude: Double = bdLocation.getLatitude() //获取纬度信息
953
-
954
-                    val longitude: Double = bdLocation.getLongitude() //获取经度信息
955
-                    val addrStr = bdLocation.addrStr
956
-                    val location = PadLocationConst.currentLocation
957
-                    location.lat=latitude
958
-                    location.lon=longitude
959
-                    location.address=addrStr
960
-                    try {
961
-                        val lastLocation = PadLocationConst.lastLocation
962
-                        if (location.lat!=null&&location.lon!=null&&!location.address.isNullOrBlank()&&(lastLocation.lon!=location.lon&&lastLocation.lat!=location.lat)){
963
-                            lastLocation.lat=location.lat
964
-                            lastLocation.lon=location.lon
965
-                            ManageApplication.getDeviceInfo()?.let {
966
-                                location.sn=it
967
-                            }
968
-                            userBean?.let {
969
-                                location.userid=it.userid
970
-                            }
971
-                            viewModel.postPadLocation((location))
972
-                            LogShow("真没有位置")
973
-                        }else{
974
-                            LogShow("没有位置")
924
+        locationClient = LocationClient(application)
925
+        val option = LocationClientOption()
926
+        option.locationMode=LocationClientOption.LocationMode.Hight_Accuracy
927
+        option.setCoorType("bd09ll")
928
+        option.setFirstLocType(LocationClientOption.FirstLocType.ACCURACY_IN_FIRST_LOC)
929
+        option.setScanSpan(1000*60*5)
930
+        option.setOpenGnss(true)
931
+        option.setLocationNotify(true)
932
+        option.setEnableSimulateGnss(false)
933
+        option.setNeedNewVersionRgc(true)
934
+        option.setIsNeedAddress(true)
935
+        locationClient?.locOption=option
936
+        locationClient?.registerLocationListener(object :BDAbstractLocationListener(){
937
+            override fun onReceiveLocation(bdLocation: BDLocation) {
938
+                //此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
939
+                val latitude: Double = bdLocation.getLatitude() //获取纬度信息
940
+
941
+                val longitude: Double = bdLocation.getLongitude() //获取经度信息
942
+                val addrStr = bdLocation.addrStr
943
+                val location = PadLocationConst.currentLocation
944
+                location.lat=latitude
945
+                location.lon=longitude
946
+                location.address=addrStr
947
+                try {
948
+                    val lastLocation = PadLocationConst.lastLocation
949
+                    if (location.lat!=null&&location.lon!=null&&(lastLocation.lon!=location.lon&&lastLocation.lat!=location.lat)){
950
+                        lastLocation.lat=location.lat
951
+                        lastLocation.lon=location.lon
952
+                        ManageApplication.getDeviceInfo()?.let {
953
+                            location.sn=it
975 954
                         }
976
-                    }catch (e:Exception){
977
-                        LogShow("没有位置问题"+e.toString())
955
+                        userBean?.let {
956
+                            location.userid=it.userid
957
+                        }
958
+                        viewModel.postPadLocation((location))
959
+                        LogShow("真没有位置")
960
+                    }else{
961
+                        LogShow("没有位置")
978 962
                     }
963
+                }catch (e:Exception){
964
+                    LogShow("没有位置问题"+e.toString())
979 965
                 }
966
+            }
980 967
 
981
-            })
982
-            locationClient?.start()
983
-        }
968
+        })
969
+        locationClient?.start()
984 970
     }
985 971
 
986 972
     private fun useTimeStrategy() {

+ 1
- 1
app/src/main/java/com/xhly/manageapp/workmanager/TimingWorker.kt Прегледај датотеку

@@ -81,7 +81,7 @@ class TimingWorker(context: Context, workerParams: WorkerParameters) :
81 81
             }catch (e:Exception){
82 82
                 LogShow("没有位置问题"+e.toString())
83 83
             }
84
-*/          UIEvent(Const.STARTLOCATION).post()
84
+*/
85 85
             userBean?.let {
86 86
                 val map=HashMap<String,Any>()
87 87
                 map["sn"]=ManageApplication.getDeviceInfo()?:""

Loading…
Откажи
Сачувај