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