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

Android 浅析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。
分享到:
评论

相关推荐

    Android后台监听实现机制浅析

    3. **权限设置**:确保应用有足够的权限来监听网络状态变化,通常需要在AndroidManifest.xml中添加`&lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;`。 ### 结论 通过对Android后台...

    浅析Android录屏 MediaRecorder

    1. **adb shell命令screenrecord**:这是Android 4.4(API级别19)及以上版本内置的命令行工具,用于录制设备屏幕。`screenrecord`支持录制mp4格式的视频,直接保存到SD卡中。例如,`adb shell screenrecord --size ...

    Android抢红包插件实现原理浅析

    《Android抢红包插件实现原理浅析》 在如今的社交时代,抢红包已经成为了一种流行的游戏,尤其在微信、QQ等社交应用中。本文将深入解析如何利用Android的无障碍服务(Accessibility Service)来实现自动抢红包的...

    浅析Android手机卫士之抖动输入框和手机震动

    &lt;uses-permission android:name="android.permission.VIBRATE" /&gt; ``` 然后在Java代码中获取Vibrator对象,并调用其`vibrate()`方法: ```java Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE...

    浅析Android手机卫士接收短信指令执行相应操作

    &lt;uses-permission android:name="android.permission.RECEIVE_SMS" /&gt; ``` 最后,为了防止模拟器在发送短信时自动添加额外的前缀,我们需要在判断发送者时使用String对象的contains()方法检查内容是否包含安全号码...

    应用程序可设置android的隐藏RUN_IN_BACKGROUND权限。 需要root。-Android开发

    但是,此权限是完全隐藏的,除了使用adb命令之外,没有其他方法可以激活它。 您可以通过在adb shell中执行以下命令来撤消对任何应用程序的RUN_IN_BACKGROUND权限:cmd appops set RUN_IN_BACKGROUND忽略要重新授予此...

    浅析Android 手机卫士设备管理权限锁屏

    关键的权限是`android.permission.BIND_DEVICE_ADMIN`,这允许应用绑定到设备管理服务。 接下来,我们需要创建一个XML资源文件(如`device_admin_sample.xml`),在这个文件中声明设备管理器能够执行的操作。例如,...

    Android微信抢红包功能的实现原理浅析

    其中,`android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"` 表示需要申请无障碍服务权限,`android:priority="1000"` 设置服务的优先级,以确保能第一时间响应红包事件。 3. **创建配置文件** ...

    基于Android的校园移动信息平台设计.pdf

    4. 安全机制:蔡罗成的论文《Android后台监听实现机制浅析》涉及Android平台的安全性,提供了后台监听机制的实现方法,这对于开发安全的移动信息平台非常重要。 知识点三:硬件调试过程和技术细节 1. 视频监视器和...

    浅析Android手机卫士sim卡绑定

    读取sim卡的序列号,保存起来,一旦sim发生变更了,认为是小偷的...需要加权限 android.permission.READ_PHONE_STATE 检测sim卡是否变更 使用广播接收者,监听手机的开机广播 新建一个包 xxx.receiver,新建一个类Bo

Global site tag (gtag.js) - Google Analytics