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动态申请权限
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/199862.html