Android中Permission权限机制的具体使用_Android

由上篇Android Permission权限机制引子,我们知道Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力。本篇文章继续来探讨和Android权限相关的话题,主要集中在权限级别、ICC(inter- component communication)权限保护两个方面。

权限级别 protection level

每一个Permission权限都设有了权限级别(protection level),分别如下:

复制代码 代码如下:

“normal”
The default value. A lower-risk permission that gives requesting applications access to isolated application-level features, with minimal risk to other applications, the system, or the user. The system automatically grants this type of permission to a requesting application at installation, without asking for the user's explicit approval (though the user always has the option to review these permissions before installing).

normal级别是一些比较低风险的权限,我们在安装一个新app到手机时,一般会被折叠起来的权限就是normal级别的。

复制代码 代码如下:

“dangerous”
A higher-risk permission that would give a requesting application access to private user data or control over the device that can negatively impact the user. Because this type of permission introduces potential risk, the system may not automatically grant it to the requesting application. For example, any dangerous permissions requested by an application may be displayed to the user and require confirmation before proceeding, or some other approach may be taken to avoid the user automatically allowing the use of such facilities.

dangerous则是那些比较高风险的权限,在安装时会明显提示用户该app具有这些权限,并且需要用户同意确认才能正确安装app的权限。

复制代码 代码如下:

“signature”
A permission that the system grants only if the requesting application is signed with the same certificate as the application that declared the permission. If the certificates match, the system automatically grants the permission without notifying the user or asking for the user's explicit approval.

signature则在我们用户自定义权限custom时,会用得到的,具体做法我会在另一篇博文:Android 自定义权限中具体研究的,这里简述之:

用户在某一个app(先称permisson app)中自定义了permission时,并且指定了某些组件需要该自定义权限才能打开,这是前提,然后用户又开发了另外一个app(称为permission client),这个permission client如果想访问permisson app中指定了自定义权限的组件,那么这两个app必须具备相同的signature,这就是signature级别的意思。

复制代码 代码如下:

“signatureOrSystem”
A permission that the system grants only to applications that are in the Android system image or that are signed with the same certificates as those in the system image. Please avoid using this option, as the signature protection level should be sufficient for most needs and works regardless of exactly where applications are installed. The “signatureOrSystem” permission is used for certain special situations where multiple vendors have applications built into a system image and need to share specific features explicitly because they are being built together.

这个同上,但多了一个Or,or是指除了相同的signature之外还可以指定为相同的Android img也可以访问,这个img其实就是系统级别的定制了,一般用的很少。

ICC(inter-component communication)权限保护

<application>元素和组件元素都有android:permission的属性,在这里我们称这个属性分别为应用程序和组件的权限标签。应用程序内的组件可以继承应用程序元素设置的权限标签,当某一组件启动 ICC 时,相关的访问控制器就会查看组件和组件所在应用程序的权限标签集合,如目标组件的访问权限标签在以上的集合内,允许 ICC 的建立继续进行,否则将会被拒绝,即使这两个组件在同一应用程序内。

改图描述了该逻辑的进程:组件A是否可以访问组件B和C,取决于比较B和C内的访问权限标签与应用程序1内的标签集合的结果。B和应用程序1内都有i1标签,所以组件A可以访问组件B,相反应用程序1内没有标签i2,组件A 不可以访问组件B。

时间: 2024-09-12 09:23:21

Android中Permission权限机制的具体使用_Android的相关文章

Android中Permission权限机制的具体使用

由上篇Android Permission权限机制引子,我们知道Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力.本篇文章继续来探讨和Android权限相关的话题,主要集中在权限级别.ICC(inter- component communication)权限保护两个方面. 权限级别 protection level 每一个Permission权限都设有了权限级别(protection level),分别如下: 复制代码 代码如下: "nor

Android中Root权限获取的简单代码_Android

我们知道Android手机操作系统采用的是Linux内核,Linux中最高的系统权限就是Root,这就类似与Windows中的Administrator系统管理员权限,也就是操作系统的最高权限.由于Root的权限过高,因此手机产商一般都不允许用户直接拥用Root权限,以防止用户修改系统内置的业务跟程序.但是对于用户来说,当然希望能拥有Root权限以将手机修改成自己的一种特色,因为有Root权限则可以任意修改手机的所有文件跟程序,让手机更加个性化. 复制代码 代码如下: Process proce

Android权限管理之Permission权限机制及使用详解_Android

前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过程中讨论比较多的一个知识点Android 6.0 权限适配问题来进行学习,不过我不想直接进入这个主题,所以选择先去了解一下Android的Permission权限机制及使用 Android权限机制: 权限是一种安全机制.Android权限主要用于限制应用程序内部某些具有限制性特性的功能使用以及应用程序之间的组

Android权限管理之Permission权限机制及使用详解

前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过程中讨论比较多的一个知识点Android 6.0 权限适配问题来进行学习,不过我不想直接进入这个主题,所以选择先去了解一下Android的Permission权限机制及使用 Android权限机制: 权限是一种安全机制.Android权限主要用于限制应用程序内部某些具有限制性特性的功能使用以及应用程序之间的组

消息-Android中的handler机制

问题描述 Android中的handler机制 请教大神,handler发消息可以从这个activity发送到另外一个activity吗? 解决方案 Handler 变量的定义,一般在一个 Activity 中,想要在两个 Activity 之间通过 Handler 变量,也就是说两个 Activity 都必须能看到此 Handler 变量. 这样的实现方式,就算是能实现,也不好! Activity 之间,还是通过 Receiver,如:BroadcastReceiver 来进行通讯比较好. 解

android java 回调-关于android中的回调机制 求大神帮忙看看代码

问题描述 关于android中的回调机制 求大神帮忙看看代码 boss 叫我写一个sdk 然后里面得实现回调 还给了我个demo 说回调机制和这个demo 一样 大概就是从A客户端发出一个数据 然后我这边接受 接受和执行一个事件 然后再回调给C public class DemoActivity extends Activity { private InputInterceptor input; @Override protected void onCreate(Bundle savedInst

关于android中的权限问题?

问题描述 关于android中的权限问题? android中有adb指令权限和写程序的时候所添加的权限,还有超级管理员,这些权限有什么联系和区别,虽然问题简陋,但请哪位大神帮我解答一下,小弟非常感谢. 解决方案 adb里的权限问题涉及到的是linux的权限问题,每个文件都有三个权限集合:文件所有者,同组用户.其他用户.这方面涉及的是Linux的知识,具体你自己去百度了解下吧 至于超级权限,即是root权限,高于一切,是linux内核里的神,能做任何事情,相当于windows的系统管理权限. 然后

源码-Android中事件传递机制原理

问题描述 Android中事件传递机制原理 我们知道,所有的控件直接或间接的继承子View,View的子类有ViewGroup,并且ViewGroup的子类也会有其他的子View,那么他们之间事件的传递机制是怎样的?对源码有研究的吗? 解决方案 android事件传递机制Android 事件的传递机制Android之事件传递机制 解决方案二: http://blog.csdn.net/pi9nc/article/details/9281829http://www.csdn123.com/html

Android编程中的消息机制实例详解_Android

本文实例讲述了Android编程中的消息机制.分享给大家供大家参考,具体如下: 在分析Android消息机制之前,我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListener { private TextView stateText; private Button btn; @Override public void onCreate(Bundle savedInstanceState)