android 设置定位服务,Android 定位服务和位置权限
做地圖功能時,在之前只需要一個位置權(quán)限即可,但不知道什么時候加了個定位服務,還是在系統(tǒng)設置里面。
看代碼:lm.isProviderEnabled(LocationManager.GPS_PROVIDER);這一句就是定位服務的判斷,如果沒有開啟定位服務,就跳到系統(tǒng)定位服務設置界面。
剩下的就是動態(tài)權(quán)限和非動態(tài)權(quán)限的方式了。
權(quán)限申請還是正常的在啟動頁申請,這一段在定位功能調(diào)用的時候使用
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean ok = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (ok) {//開啟了定位服務
if (Build.VERSION.SDK_INT >= 23) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
//沒有權(quán)限,現(xiàn)在申請權(quán)限
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.ACCESS_FINE_LOCATION}, ChatInputView.BAIDU_READ_PHONE_STATE);
} else {
createGroupMapView();
}
} else {
createGroupMapView();
}
} else {//未開啟定位服務
ToastUtil.showToast("系統(tǒng)檢測到未開啟GPS定位服務,請開啟");
Intent i = new Intent();
i.setAction(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(i, ChatInputView.PRIVATE_CODE);
}
總結(jié)
以上是生活随笔為你收集整理的android 设置定位服务,Android 定位服务和位置权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C程序设计语言--第五章:指针与数组
- 下一篇: 10.继承和派生