1. After Android 6.0, you not only need to apply for permissions in AndroidManifest.xml, but also need to apply for permissions in the code, giving a packaged interface, which can be directly modified and used in the code.
2. After adding, a pop-up window for permission application will appear
/**
* 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);
}
}
}