Android动态权限申请
在Android 6.0后,安卓开发权限的申明就不再只是在AndroidManifest.xml文件中声明了,大多数权限都需要用户的允许。
权限申请
首先和6.0以前一样,在AndroidManifest.xml文件中添加需要的权限,这里以读写权限为例
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
同时,在需要权限的地方或者MainActivity中编写权限申请方法
// 获取权限方法
public static void getPermissionCamera(Activity activity) {
// 检查权限
int readPermissionCheck = ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
int writePermissionCheck = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
// 检查是否有该权限,有才去申请
// PackageManager.PERMISSION_GRANTED--->有
// PackageManager.PERMISSION_DENIED---->无
if (readPermissionCheck != PackageManager.PERMISSION_GRANTED || writePermissionCheck != PackageManager.PERMISSION_GRANTED) {
// 将这些权限添加到数组中
String[] permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
// 通过ActivityCompat.requestPermissions()方法申请权限
ActivityCompat.requestPermissions(
activity,
permissions,
0);
}
}
别忘了在onCreate方法中应用它
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getPermissionCamera(this);
}
动态权限申请就是这么简单,如果想了解的更加详细
(18条消息) Android权限管理及动态申请权限_TheRisingMoon的博客-CSDN博客_android动态申请权限
标签:权限,permission,申请,activity,Android,PackageManager,动态 From: https://www.cnblogs.com/nhgtx/p/16887015.html