安卓运行时权限定位P20

定位时,使用了高德地图,需要申请运行时权限  ACCESS_FINE_LOCATION

一开始没有申请WRITE_EXTERNAL_STORAGE 和  READ_EXTERNAL_STORAGE

测试手机里除了华为P20,其他都可以定位成功。

加上存储权限读写后,华为P20可以了。

权限判断

@TargetApi(23)
    public static boolean hasLocationPermisson(Context context) {
        boolean b1 = PermissionsManager.getInstance().hasPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION);
        boolean b2 = PermissionsManager.getInstance().hasPermission(context, android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
        boolean b3 = PermissionsManager.getInstance().hasPermission(context, android.Manifest.permission.READ_EXTERNAL_STORAGE);
        return b1 && b2 && b3;
    }

请求

 @TargetApi(23)
    public static void requestLocationPermisson(Activity context) {
        ActivityCompat.requestPermissions(context,
                new String[]{
                        android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION}, 100);
    }

 

你可能感兴趣的:(机型适配)