添加依赖:
implementation 'com.amap.api:location:latest.integration'
String NOW_LOCATION ="";//用户当前定位位置
int GET_USER_LOACTION_PERMISSIONS=1;//申请定位权限
/**
* 1.获取定位权限
* */
public static void getLocationPermissions(Context context){
// 版本判断。当手机系统大于 23 时,才有必要去判断权限是否获取
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// 检查该权限是否已经获取
// 权限是否已经 授权 GRANTED---授权 DINIED---拒绝
if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
//开始获取定位
getLocation();
}else {
ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, GET_USER_LOACTION_PERMISSIONS);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 2.用户权限 申请 的回调方法
* @param requestCode
* @param permissions
* @param grantResults
*/
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == GET_USER_LOACTION_PERMISSIONS)
try {
{
// 如果用户赋予全选,则执行相应逻辑
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {