如果需要其他的权限,比如,获取内存卡读取权限,相机权限等,将判断跟请求的权限换掉就可以了 private static final int LOCATION_CODE = 1; private LocationManager lm;//【位置管理】 public void quanxian(){ lm = (LocationManager) MainActivity.this.getSystemService(MainActivity.this.LOCATION_SERVICE); boolean ok = lm.isProviderEnabled(LocationManager.GPS_PROVIDER); if (ok) {//开了定位服务 if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { Log.e("BRG","没有权限"); // 没有权限,申请权限。 // 申请授权。 ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, LOCATION_CODE); // Toast.makeText(getActivity(), "没有权限", Toast.LENGTH_SHORT).show(); } else { // 有权限了,去放肆吧。 // Toast.makeText(getActivity(), "有权限", Toast.LENGTH_SHORT).show(); } } else { Log.e("BRG","系统检测到未开启GPS定位服务"); Toast.makeText(MainActivity.this, "系统检测到未开启GPS定位服务", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(); intent.setAction(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(intent, 1315); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case LOCATION_CODE: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 权限被用户同意。 } else { // 权限被用户拒绝了。 Toast.makeText(MainActivity.this, "定位权限被禁止,相关地图功能无法使用!",Toast.LENGTH_LONG).show(); } } } }
Android 定位权限申请
原文作者:Liu_ser
原文地址: https://blog.csdn.net/Liu_ser/article/details/80594493
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/Liu_ser/article/details/80594493
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。