Android权限申请实现

Android从6.0版本以上权限申请的机制就进行了升级。下面通过例子具体说明权限申请实现。

例如要实现内部存储器保存文件

首先需要像6.0以前在AndroidManifest.xml文件中进行权限的申请,

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" tools:ignore="ProtectedPermissions" />

除了上面的两句外,还要在<application  下面添加

android:requestLegacyExternalStorage="true"

这样就完成了AndroidManifest.xml文件部分的设置。

然后是在MainActivity中添加权限动态申请

//权限请求
private void requestPermission() {

   // Here, thisActivity is the current activity
   if (ContextCompat.checkSelfPermission(this,
         Manifest.permission.WRITE_EXTERNAL_STORAGE)
         != PackageManager.PERMISSION_GRANTED) {

      ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
            MY_PERMISSIONS_REQUEST_WRITE_CONTACTS);
      initView();//页面初始化

   } else {
      initView();//页面初始化
   }
}

我的动态权限申请写的比较简单,仅是做申请,要想做的更完善,还需要对申请权限后用户实际操作进行判断,根据用户是否同意作出相应操作。假设用户都会同意情况下,上述的权限申请足够实现权限的获得。

提一点MY_PERMISSIONS_REQUEST_WRITE_CONTACTS就是一个变量定义,如我就申请了这个一个权限,将其定义为1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值