1. Después de Android 6.0, no solo necesita solicitar permisos en AndroidManifest.xml, sino que también debe solicitar permisos en el código, lo que brinda una interfaz empaquetada, que se puede modificar y usar directamente en el código.
2. Después de agregar, aparecerá una ventana emergente para la solicitud de permiso
/**
* Android6.0之后需要动态申请权限
*/
private void requestPermission() {
// 这个判断可以不要,目前6.0的手机基本上没有了
if (Build.VERSION.SDK_INT >= 23) {
ArrayList<String> permissionsList = new ArrayList<>();
String[] permissions = {
// 在这块申请加上权限的名字,就是AndroidManifest.xml中的权限名字
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
};
for (String perm : permissions) {
if (PackageManager.PERMISSION_GRANTED != checkSelfPermission(perm)) {
permissionsList.add(perm);
// 进入到这里代表没有权限.
}
}
if (!permissionsList.isEmpty()) {
String[] strings = new String[permissionsList.size()];
requestPermissions(permissionsList.toArray(strings), 0);
}
}
}