1. Depois do Android 6.0, você não só precisa solicitar permissões no AndroidManifest.xml, mas também precisa solicitar permissões no código, fornecendo uma interface empacotada, que pode ser modificada diretamente e usada no código.
2. Depois de adicionar, haverá uma janela pop-up para o aplicativo de permissão
/**
* 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);
}
}
}