针对android 6.0(API 23)以前的版本,只需要在【AndroidManifedt.xml】里面添加应用权限,应用安装完成以后即可正常使用。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
但是,对于android 6.0(API 23)以后的版本,系统允许用户单独管理应用的某个权限,可以关闭/打开权限。
比如某个应用需要相机权限,而在此之前用户已经针对该应用禁用了相机权限,我们在启动该应用的时候就会出现异常(例如闪退)。
这里,我们需要在应用启动以后,第一时间去检测相关权限问题,比如相机权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
//申请WRITE_EXTERNAL_STORAGE权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},1);}
以上代码就是检测相机权限,如果未或者,则弹窗提示。如果允许则会开启相关权限,如果拒绝,则退出应用。