`
notfatboy
  • 浏览: 237512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅析permission标签的区别及用法

阅读更多

在我之前的安全与权限系列文章中对此已经有所描述,但是具体到标签的使用没有一个系统的比较。于是乎偶就想写篇文章总结下。本文只是浅析在Manifest文件中各个标签的用法,算是抛砖引玉。(终于拽了个成语 ,虽然到目前为止,偶连块砖头都没有收到过,但是本着予人玫瑰,手有余香的助人为乐精神,偶还是撰写了这篇文章。好,打住,开始正文。)


在Android的manifest文件中有四个标签与permission有关,它们分别是 <permission>   <permission-group>  <permission-tree> 和 <uses-permission>。其中最常用当然是 <uses-permission>, 当我们需要获取某个权限的时候就必须在我们的manifest文件中声明 <uses-permission>。而其它三个是不常用的(这句是废话)。通常情况下我们不需要为自己的应用程序声明某个权限,除非你提供了供其他应用程序调用的代码或者数据。这个时候你才需要使用 <permission> 这个标签。很显然这个标签可以让我们声明自己的权限。比如偶可以声明

<permission android:name="com.notfatboy.project.VIEW_MYDATA" . . . />
 

当偶声明了这个<permission>之后,偶就可以在偶的程序中使用这个permission了,比如在偶的某个activity中用这个权限保护,如下:

<application . . .>
        <activity android:name="com.notfatboy.project.FileManageActivity" . . . >
                  android:permission="com.notfatboy.project.VIEW_MYDATA"
                  . . . >
            . . .
        </activity>
 </application>
 

当然你千万不要以为你自己声明的permission你就可以随意使用,你还是需要使用<uses-permission>来声明你需要该权限,这时你的应用才能正常工作。

<permission-group>  <permission-tree>这两个标签就更少见了,简单说 <permission-group> 就是声明一个标签,该标签代表了一组permissions,而 <permission-tree>是为一组permissions声明了一个namespace。这两个标签可以看之前的系列文章。

 

分享到:
评论
3 楼 a568690944 2015-08-06  
引用
[u][b][list]
[*]
引用
[u][/u]
[/list][/b][/u]              
|||||||||
||||||||
||||||||
|||||||
|||||||
||||||
||||||
|||||
|||||
||||
||||
|||
|||
||
||
|
|
2 楼 a564941464 2011-12-15  
扔个玉吧,路过……
1 楼 qq343931720 2011-07-06  
扔个玉吧,路过……

相关推荐

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

    本文将详细介绍Permission权限机制及其在Android系统中的使用。 首先,Permission权限机制是Android系统为了防止恶意软件或者未经授权的操作而设计的一种安全措施。权限分为普通权限和危险权限两大类。普通权限通常...

    Permission

    在此之前,应用在安装时会一次性获取所有所需权限,但在Android 6.0及更高版本中,用户可以在应用运行时对特定权限进行授权或拒绝,增强了用户对应用权限使用的控制。 标题"Permission"所指的就是这个Android 6.0及...

    Pro Android学习:permission例子

    在Android开发中,权限管理是应用...通过这个`Pro Android`学习系列的permission例子,开发者可以深入理解Android权限系统,掌握在不同版本的Android上正确处理权限的方法,从而为用户提供更安全、更透明的使用体验。

    Laravel-permission 安装

    完成了以上步骤后,你就可以开始使用`spatie/laravel-permission`来管理用户的权限和角色了。你可以通过API来创建角色、分配权限、检查用户是否有特定权限等。例如: ```php // 创建一个角色 $role = Role::create...

    Laravel开发-laravel-permission

    "laravel-permission"是Eloquent权限管理的一个流行实现,特别为Laravel 5.5及以上版本设计。这个库是由Spatie公司提供的,它提供了一种简单而有效的方式来处理角色和权限。 首先,我们要了解Laravel的基础架构。...

    百度地图API报PERMISSION_UNFINISHED错误

    在使用百度地图API进行开发的过程中,可能会遇到一个常见的问题:“PERMISSION_UNFINISHED”错误。这一错误通常出现在尝试调用地图服务或者访问某些特定功能时,对于开发者来说,理解其背后的原因并找到解决方法是...

    android.permission大全

    ### Android.Permission大全知识点详解 #### 一、概述 在Android应用开发过程中,权限管理是非常重要的一环。合理的权限设置不仅可以保障用户的隐私安全,还可以确保应用的正常运行。本篇文章将详细介绍部分...

    Android权限列表permission说明

    Android权限列表permission说明,希望可以帮助到大家

    PermissionDemo.zip

    2. **请求权限**:当应用需要但尚未获取权限时,可以使用`ActivityCompat.requestPermissions()`方法发起请求。这个方法需要传入一个`Activity`引用,要请求的权限数组,以及一个回调接口`...

    Android权限列表permission说明.

    合理地请求和使用权限不仅能够确保应用程序的正常运行,还能有效保护用户的隐私及设备的安全。Android权限机制通过一系列的权限声明和权限检查来实现这一目标。本文将详细介绍部分Android权限,并解释它们的作用与...

    android 自定义Permission

    在Android项目的`AndroidManifest.xml`文件中,使用`&lt;permission&gt;`标签声明自定义权限。例如: ```xml &lt;permission android:name="com.example.MY_PERMISSION" android:protectionLevel="signature"/&gt; ``` 其中...

    android permission 配置详解

    Android 权限配置可以通过 AndroidManifest.xml 文件中的uses-permission 标签来配置。例如: ```xml &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt; ``` 常见权限类型: 1. 设备...

    usb-permission-issuer.apk

    在你的APP中向usb-permission-issuer发送广播,申请usb权限,等申请通过在使用USB就不会弹出USB授权对话框,需要人为确认的情况。 Intent intent = new Intent(); intent.setAction("ACTION_USB_PERMISSION_ISSUER...

    Android权限列表permission说明.txt

    ### Android权限列表详解 在Android应用开发过程中,权限管理是一项重要的任务。...了解这些权限的具体含义及应用场景有助于开发者更好地管理和优化应用程序的权限需求,从而提高应用的安全性和用户体验。

    Clipboard Permission Manager

    标题中的“Clipboard Permission Manager”指的是一个管理剪贴板权限的工具,主要针对Jumpserver堡垒机。在IT领域,Jumpserver通常被用作一种开源的堡垒机解决方案,用于集中管理和审计远程服务器的访问。堡垒机在...

    前端项目-angular-permission.zip

    要使用"angular-permission",开发者首先需要将其导入到Angular项目中,然后配置权限服务,定义角色和对应的权限。接着,在路由配置中使用这些权限,以限制用户的访问。最后,通过服务检查用户的登录状态和权限,...

    sqlplus libclntsh.so.11.1 Permission denied 解决方法

    ### SQL Plus libclntsh.so.11.1 Permission Denied 错误解决方法 #### 问题背景 在尝试运行 SQL Plus 工具时,可能会遇到一个错误提示:“cannot restore segment prot after reloc: Permission denied”,这通常...

    Android自定义权限permission

    2. 使用权限:接着,在需要用到这个自定义权限的组件(Activity、Service等)上添加`&lt;uses-permission&gt;`标签,声明对该权限的需求: ```xml &lt;uses-permission android:name=...

Global site tag (gtag.js) - Google Analytics