对于Android6.0系统及以上的手机,需要添加定位权限,参考代码如下:
并且需要在应用启动时候做下权限的检查,如果安装时候没有允许,需要代码主动去询问用户打开相关权限。参考代码如下:
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED){//未开启定位权限
//开启定位权限,200是标识码
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},200);
}else{
Toast.makeText(MainActivity.this,"已开启定位权限",Toast.LENGTH_LONG).show();
}
在回调中参考代码如下:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode){
case 200://刚才的识别码
if(grantResults[0] == PackageManager.PERMISSION_GRANTED){//用户同意权限,执行我们的操作
//开始定位
}else{//用户拒绝之后,当然我们也可以弹出一个窗口,直接跳转到系统设置页面
Toast.makeText(MainActivity.this,"未开启定位权限,请手动到设置去开启权限",Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
}