Android 6.0权限管理

Android6.0权限处理封装 调用一个方法就能处理权限 阅读详情

安卓6.0之后出现了新的应用授权管理方式,允许app动态获取权限,针对一些危险权限,必须要动态授权,

危险权限如下:

    <!-- 危险权限 -->
    <!--联系人-->
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <!--电话-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
    <uses-permission android:name="android.permission.ADD_VOICEMAIL"/>
    <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
    <uses-permission android:name="android.permission.USE_SIP"/>
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
    <!--存储-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!--相机-->
    <uses-permission android:name="android.permission.CAMERA"/>
    <!--定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <!--录像-->
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <!--传感器-->
    <uses-permission android:name="android.permission.BODY_SENSORS"/>
    <!--短信-->
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
    <uses-permission android:name="android.permission.RECEIVE_MMS"/>
    <!--日历-->
    <uses-permission android:name="android.permission.READ_CALENDAR"/>
    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>

危险权限都有属于自己的组,对于同一组内的权限,只要有一个被授予,其他的都会被授予。

下面以拨打电话权限为例,操作步骤:

1.在AndroidManifest.xml文件中声明权限

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

2.检查是否拥有某个权限,没有则申请

//系统会弹出对话框提示用户授予权限
//先检查是否有拨打电话权限
if(ContextCompat.checkSelfPermission(this,
        Manifest.permission.CALL_PHONE) !=PackageManager.PERMISSION_GRANTED){ //或者使用PermissionChecker
    //申请权限
    ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE},REQUEST_CALL_PHONE);
}else{
    callPhone();
}

3.处理请求结果

//实现请求权限结果回调
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    switch (requestCode){
        case REQUEST_CALL_PHONE:
            //grantResults数组的大小跟申请权限时传入的的权限个数一致,表示申请的结果
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED){//获得了权限
                callPhone();
            }else{
                Toast.makeText(this,"禁止了拨打电话权限",Toast.LENGTH_SHORT).show();
            }
            break;
    }
}

 

 

 

android 6.0 以后的动态权限管理 在android 6.0 以后的系统中授权管理已经和以前有了重大的不同了。以前我们做android是直接在AndroidManifest里面加上<uses-permission android:name="android.permission.CAMERA" />就OK了。不过现在不同了。需要用户在使用的过程中进行动态的授权。这样也算是安全了吧。 目前需要动态授权的有以下几类身体传感器 日历 摄像 阅读详情

相关推荐

Python通用编程规范-09 安全编程规范

1.9 安全编程规范 1.9.1 异常行为 1.9.1.1 禁止抑制或者忽略已检查异常 【说明】: 编码人员常常会通过一个空的或者无意义的catch块来抑制捕获的已检查异常。每一个catch块都应该确保程序只会在继续有效的情况下才会继续运行下去。因此,catch块必须要么从异常情况中恢复,要么重新抛出适合当前catch块上下文的另一个异常以允许最邻近的外层try-catch语句块来进行恢复工作。异常会打断应用原本预期的控制流程。例如,try块中位于异常发生点之后的任何表达式和语句都不会被执行。因此,异常必须

zhao12501的博客 2871

谈谈Android 6.0 的动态权限管理

1.前言 大家都知道Android 6.0的新特性之一就是应用权限的管理。也就是说凡是涉及用户隐私的权限,用户可以自己去设置管理了。然而在6.0以前,我们安装一款APP是默认同意此APP所需的所有权限(比如定位、访问通讯录),不同意就不能安装。当然,国内的一些手机厂商基于Android定制的系统中,可以实现在6.0以前关闭指定的权限。如下图: 2.危险权限列表(Dangerous ...

唯鹿的博客 2万+

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

Android 6.0以上权限处理

最近在开发过程中,遇到适配Android 6.0及以上版本的权限处理问题。java.lang.SecurityException: was not grant permission: ...

shenyu_njau的博客 843

AniME框架深度体验:用AI自动生成《修真小说》动画全流程记录

本文详细记录了使用开源多智能体框架AniME,结合其核心动画生成模型AniSora V3,将一段修真小说文本自动转化为风格统一动画视频的全流程实战。文章深入解析了从环境搭建、导演智能体任务分解,到多智能体协作生成分镜、角色、动画及最终合成的每一步操作与挑战,为AI驱动的长视频创作提供了宝贵的实践经验与流程优化思路。

ol789012345的博客 625

b站视频链接快速获取

快速获取b站视频数据

qq_45889931的博客 7791

Android 6.0 运行时权限处理完全解析

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/50709663; 本文出自:【张鸿洋的博客】 一、概述 随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化。对于6.0的几个主要的变化,查看查看官网的这篇文章http://devel...

dawuafang 862

MATLAB 设置legend加标题

x1 = linspace(0,5); y1 = sin(x1/2); plot(x1,y1) hold on x2 = [0 1 2 3 4 5]; y2 = [0.2 0.3 0.6 1 0.7 0.6]; scatter(x2,y2,'filled') hold off legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')%水平 legend添加标题 lgd = legend; lgd.Fon

早起CaiCai的学习空间 4714

Android开发——Android 6.0权限管理机制详解

0.前言 最近在研究所实习,我负责维护Android手机取证项目的Android客户端,有客户反映我们的APP在Android6.0无响应,经过调试发现SD卡读写权限权限被拒绝。但明明是在AndroidManifest.xml文件中声明过的。查了很多资料才知道Android6.0的很多权限申请机制发生了改变,可以说是Android6.0在安全机制上更进了一步吧,因此写下这篇文章以记录。...

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭ 1万+

微信爬虫服务器,微信文章爬虫使用教程 - 八爪鱼采集器

对于某些用户来说,直接自定义规则可能有难度,所以在这种情况下,我们提供了网页简易模式,网页简易模式下存放了国内一些主流网站爬虫采集规则,在你需要采集相关网站时可以直接调用,节省了制作规则的时间以及精力。微信文章采集下来有很多作用,比如可以将自己行业中最近一个月之内发布的内容采集下来,然后分析文章标题和内容的一个方向与趋势。所以本次介绍八爪鱼简易采集模式下“搜狗公众号”的使用教程以及注意要点。步骤一...

weixin_26712065的博客 3258

DA14531之搭建开发环境

DA14531之搭建开发环境

hejinwu1314的博客 1778

android 照片 权限管理,安卓6.0以上 相册读取图片 权限问题

问题背景:今天做Intent ACTION_PICK 相册读取, 已经在AndroidManifest中添加了权限,然后选取后,图片无法显示。原因是:android6.0之后不仅需要在Mainfest里面添加权限,还需要添加运行时权限private static final int WRITE_PERMISSION = 0x01;@Overrideprotected void onCreate(B...

weixin_36053019的博客 498

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android6.0权限管理

Android6.0权限管理Android6.0棉花糖发布也快一年了,一直没有时间去做相应的权限处理,最近有点时间,系统的研究了一下,并在自己的app中增加了权限管理。(虽然老大觉得然并卵) 从此app再也不能在安装时,就获取想要的权限了,系统安全更进一步,这个绝对是个喜讯啊~~~ 虽然这样会给开发增加很多工作量,但是作为一个有节操、有理想的程序员,我们是要鼎力配合的普通权限—不需做特殊处理An

姚瑶大坏蛋的专栏 927

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android6.0网络权限管理

Android 6.0 Marshmallow(棉花糖)是目前谷歌公布的最新版本的操作系统,其中一项改进是针对程序调用权限控制又进一步升级。 在之前的Android系统中,用户在安装应用时会收到一堆权限申请,比如允许应用访问相册、位置、通讯录等等。但是用户一般都会忽视这些直接全盘接受安装。 到了Android 5.0时代,用户可以在设置选项中对每个授权许可进行开启/关闭,比如你不希望你的短信应

GEM_yaorao的博客 4967

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android 6.0权限管理特性

Android 6.0终于是千呼万唤始出来了,除了动画更加酷炫之外,也有很多吊炸天的功能,比如新增加的权限管理,看完它,作为一个程序猿,第一感觉就是,真是日了狗了!在android 6以前,程序在manifest声明的权限,在用户安装程序的时候,就已经展示出来并全部赋予权限了,这种权限管理的特征就是只在安装时显示一次,管你同不同意,只要你安装了,就代表你同意了。因此我敢吃键盘来赌你安装的时候从来没有

recall2012的专栏 3981

android 6.0 权限管理

如果说5.0是android上的里程碑,那么6.0就是对它的完善与升级。6.0从UI上与5.0没有任何区别,依旧坚持了好评的md风格,但不仅仅只是内核的升级而已。

a1824464591的专栏 470

Android6.0权限管理框架:EasyPermisssion、

转至元数据起始 Android6.0权限管理:  1.EasyPermission:   导包:   compile 'pub.devrel:easypermissions:0.1.9'1.重写要申请权限的Act...

qq_21915769的博客 2702

探索 Android 6.0 权限管理:Android6.0PermissionsDemo 项目解析

探索 Android 6.0 权限管理:Android6.0PermissionsDemo 项目解析 去发现同类优质开源项目:https://gitcode.com/ 在 Android 6.0(API 级别 23)及以上版本,系统引入了运行时权限模型,这使得应用在请求敏感权限时需要在运行时得到用户的明确同意。为了帮助开发者更好地理解和处理这一变化, 项目应运而生。这篇文章将带您深入理解这个项目的...

gitblog_00003的博客 317

android 获取权限管理,Android工具箱之Android 6.0权限管理

这是一个系列,我们将其命名为工具箱,如果你还没有看之前的文章:概述默认情况下,一个Android app是不会获取任何权限的。当你的app需要使用任何被设备保护起来的特性的时候(比如发送网络请求,访问照相机,发送短信等),其必须从用户那儿获取到相关的权限。Android 6.0之前的权限管理在Android6.0之前,开发者获取设备权限非常的简单,所有的权限会在安装的时候处理。比如一个用户想要安装...

weixin_42422362的博客 333

项目中处理android 6.0权限管理问题

android 6.0对于权限管理比较收紧,因此在适配android 6.0的时候就很有必要考虑一些权限管理的问题。 如果你没适配6.0的设备并且权限没给的话,就会出现类似如下的问题: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL d...

A08110123的博客 287

Android6.0M权限管理封装

Android6.0M权限管理轻量级封装 随着Android版本的不断更新,Google的Android开发人员也想到了Android应用在权限管理方面的各种问题,让好多用户摸不着头脑就使用了用户的隐私数据。  为了在权限这方面加强管理,安卓平台权限一直有被流氓应用随便利用诟病,Android M的发布彻底解决了这一问题,取而代之的是,  app不得不在运行时一个一个询问用户授予权限

好记性不如写博客! 1008

Android6.0运行时权限管理

自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装的事情,也不会再不征求用户授权的情况下,就可以任意的访问用户隐私,而且即使在授权之后也可以及时的更改权限。这就是6.0版本做出的更拥护和注重用户的一大体现。

管满满 2038

android6.0存储权限,Android 6.0 存储权限管理

Android 6.0 存储权限管理官方说明先翻译一段Android的官方文档,原文在:https://source.android.com/devices/storage/Android 6.0开始支持运行时权限管理的功能。运行时权限管量中当然也包括对READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE这两个权限的动态管理。系统需要提供在不杀掉或重启已经运行的...

weixin_35503004的博客 826

Android 6.0 权限管理详解

Android 6.0 权限管理详解前言:Android 升级到6.0(API)之后,多了许多新特性,但对于开发者来说,最重要的是新的权限管理机制。这个新的权限管理机制,对于用户来说,更高的提高了安全体验,但对于开发者来说,在开发过程中对于权限的掌控则变得更难。权限的划分系统权限被分为两种逻辑,一种是正常的,一种是危险的。1.正常权限包括的区域是你的应用需要访问的数据或者资源在你的应用沙盒之外,但是

stonelongkaiwen的博客 710
上一篇: Android开发之调整手机音量
下一篇: 安卓开发规范
程序猫King
博客等级 码龄14年 5580粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值