android.Manifest包含了Android的所有权限。设置权限需要在:
1, AndroidManifest.xml中添加<uses-permission>
2,有些app可以在app info控制某些权限(如sd卡的读写权限)的开启,若没开启需要弹出提示框开启权限。
> 判断权限是否允许
类android.support.v4.content.PermissionChecker封装了判断权限状态的一些接口,如判断读权限是否开启,则可用如下方法:
int status = PermissionChecker.checkSelfPermission(context, Manifest.
boolean isGranted = (status == PermissionChecker.PERMISSION_GRANTED);
> 若权限未允许,则弹出提示框
ActivityCompat.requestPermissions(activity, permissions, requestCode);
> 在所有permissions提示框选择完以后,监听的允许/拒绝结果,需要复写Activity的onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)方法,grantResults即为监听的结果。
> 如果grantResults含子项结果不为PermissionChecker.PERMISSION_GRANTED,则可跳转到app info直接控制权限的开关。跳转到app info有2种方式:一、根据action:包管理器PackageManager.queryIntentActivities可判断该app是否存在,存在则可直接将action封装成Intent启动;二、根据包名:Intent(String action, Uri uri),uri = Uri.parse("package:"
+ context.getPackageName());

1万+

被折叠的 条评论
为什么被折叠?



