高德地圖所使用的權(quán)限
<!--允許程序打開網(wǎng)絡(luò)套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允許程序設(shè)置內(nèi)置sd卡的寫權(quán)限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允許程序獲取網(wǎng)絡(luò)狀態(tài)-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允許程序訪問WiFi網(wǎng)絡(luò)信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允許程序讀寫手機(jī)狀態(tài)和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--允許程序訪問CellID或WiFi熱點(diǎn)來(lái)獲取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--GPS定位-- 之前不顯示藍(lán)點(diǎn)>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--聲明后臺(tái)定位權(quán)限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
寫完后發(fā)現(xiàn)藍(lán)點(diǎn)沒出來(lái),看遍文檔也沒發(fā)現(xiàn)原因,發(fā)現(xiàn)要顯示定位藍(lán)點(diǎn),需要 ACCESS_FINE_LOCATION 權(quán)限
另外,還需要判斷gps有沒有打開,沒有的話需要引導(dǎo)用戶打開gps
//判斷gps是否打開
fun isOpenGps():Boolean = (context.getSystemService(Context.LOCATION_SERVICE) as
LocationManager)
.run {
isProviderEnabled(LocationManager.GPS_PROVIDER)
}
//跳轉(zhuǎn)到打開gps設(shè)置頁(yè)面
fun openGPSSetting(activity:Activity,requestCode:Int) = activity.startActivityForResult(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS),requestCode)
fun openGPSSetting(fragment:Fragment,requestCode:Int) = fragment.startActivityForResult(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS),requestCode)