Android6.0以前及以后的权限设置

今早看了鸿洋大神公众号的一篇关于权限的文章,记录下,方便自己记忆!

 Android 6.0之后

 Android 6.0(API 23)以后加入了权限机制,加入了9组危险权限,包括调用相机,读取联系人信息,读取位置信息,打电话,录音等等,涉及用户隐私的权限。

  具体操作是6.0以后,在Manifest中不仅需要注册权限,还需要在调用的时候动态申请权限,让用户知道具体打开了什么权限。在6.0之前只需要在Manifest中注册即可。

  6.0之后,需要先通过ContextCompat.checkSelfPermission()来检查是否有该权限,如果没有可以通过requestPermission来请求打开权限。这样即使没有同意打开权限,APP也不会崩溃,只是不能调用相应的功能而已。

   Android 6.0之前

  6.0之前的话,如果手动设置禁止访问相应的权限,检查设置权限会失效,很可能回出现APP闪退的情况,所以在调用的时候需要加try catch,并对相应的问题作出应对方案!

   (1) 如关闭Camera,很可能会闪退,输出异常,这时候,可以在调用的地方加个try catch,这样崩溃的时候捕获异常,并通过Toast提示用户产生异常的原因。

    (2)如果关闭了打电话的功能,可能会无异常,也不会闪退,可以手动设置跳转到打电话的界面。

    (3)如果关闭了录音的功能,可能也不会有闪退,也没有异常,这是可以通过缓冲区查看,如果缓冲区有数据,就取出缓冲区的数据,缓冲区没有数据,就通过Dialog来提示用户无权限,需要打开权限。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值