安卓权限说明(参照官网总结)

安卓权限背景(引自官网):

安装到设备后,每个 Android 应用都运行在自己的安全沙箱内:

Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户;

默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID(该 ID 仅由系统使用,应用并不知晓)。系统为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件;

每个进程都具有自己的虚拟机 (VM),因此应用代码是在与其他应用隔离的环境中运行;

默认情况下,每个应用都在其自己的 Linux 进程内运行。Android 会在需要执行任何应用组件时启动该进程,然后在不再需要该进程或系统必须为其他应用恢复内存时关闭该进程。

由此可见,默认情况下,每个应用只能访问自己沙箱内的文件信息,而无法访问其它文件,由此保护各自应用以及系统的信息安全。

但总有些应用是需要与其它应用共享信息或者需要访问系统服务的,对此,安卓提供了两种方案:

1)、安排两个应用共享一个Linux用户ID,这样它们的文件权限就一致了。如果想要节省系统资源,可以让相同Linux用户ID的应用在一个Linux进程中运行,并共享同一VM(应用需用相同的证书签署);

2)、权限申请,应用可以请求访问设备数据(联系人、短信、SD卡、相机、蓝牙等)的权限。用户可以看到这些权限的申请并管理部分权限。

安卓权限分类:

        安卓权限分为两类,正常权限和危险权限,两者都需要在配置文件中明确声明,但根据设备的系统版本和应用的目标SDK有不同的表现方式。

1、正常权限

       正常权限不会有侵犯到用户隐私的风险,对于这种权限,只要在AndroidManifest.xml中声明了,系统会自动授予,用户可以在应用信息中看到这些权限,但无法进行管理。


2、危险权限

        危险权限是指访问用户机密数据的权限,只有用户明确批准了该类权限,应用才能正常访问相应的数据。

        对于此类权限,在系统版本为5.1或更低版本的设备上,或应用的目标SDK <= 22时,用户在安装时需进行权限授予,若不授予,则系统不会安装此app;而当设备系统为6.0及以上,或应用的目标SKD为23及更高时,应用不仅需在配置文件中声明权限,在运行时也应进行权限请求,用户可以明确地同意/拒绝此类权限请求,不影响其它功能运行。

        检查权限(以在日历中写入的权限检查为例):

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR)

        若应用拥有权限,则permissionCheck的值应为PackageManager.PERMISSION_GRANTED,且应用可以继续操作。如果应用不具有权限,则值为PERMISSION_DEMIED,应用需明确向用户要求权限。

        权限请求:

          权限请求方法会异步运行:立即返回并在用户响应对话框之后,系统会调用应用的回调方法并将结果传入,代码实例(以检查读取用户联系人的权限为例

        权限请求响应:

        权限组:

        当进行权限组请求时,对话框会说明权限组信息,但不会一一列出权限,如请求READ_CONTACTS和WRITE_CONTACTS时,对话框会显示应用需要访问设备的联系人。当权限组中的一项被授予了权限时,其它权限项会被同时默认授予,当请求其它权限时,系统会自动调用回调传入PERMISSION_GRANTED,如果用户之前授予过权限,下回也会采用同样的方式处理。(官方仍建议在权限请求时明确每一项权限,而不是依赖权限组的权限共享性偷懒)


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容

  • Android程序往往都需要在androidmanifest.xml文件中来声明许多的相关权限请求, 而权限请求也...
    Yinll阅读 8,273评论 0 11
  • 系统权限 Android 是一个权限分隔的操作系统,其中每个应用都有其独特的系统标识(Linux 用户 ID 和组...
    进攻的蚂蚁阅读 2,200评论 0 0
  • Android系统权限 Android 是一个权限分隔的操作系统,其中每个应用都有其独特的系统标识(Linux 用...
    ZHLeo阅读 7,432评论 3 16
  • 一 那大概是印象中第一次的相遇。 地铁关门的提示声已经响起,离门完全关起大约是十秒左右,排在前面的人已经由匆忙的小...
    七衣二里阅读 311评论 0 1
  • 今天要总结的是第四章的内容,整个第四章有五部分内容,主要是讲如何学习,如何认识自己,如何让自己更加清晰地认识自己。...
    周利蓉Amerry阅读 413评论 0 0