1 声明权限https://developer.android.com/training/permissions/declaring.html

每款 Android 应用都在访问受限的沙盒中运行。如果应用需要使用其沙盒外的资源或信息,则必须请求相应权限。您可以在应用清单中列出相应的权限,声明应用需要此权限。

根据权限的敏感性,系统可能会自动授予权限,或者需要由设备用户对请求进行许可。例如,如果您的应用请求打开设备手电筒的权限,系统将自动授予该权限。但如果您的应用需要读取用户联系人,系统会要求用户授权。用户需要在安装应用(运行 Android 5.1 和更低版本的设备)或者运行应用(运行 Android 6.0 和更高版本的设备)时授予权限,具体取决于平台版本。

确定您的应用需要哪些权限


开发应用时,您应注意应用何时使用需要权限的功能。通常,在使用并非由自身创建的信息资源、执行会影响设备或其他应用行为的操作时,应用都需要获得相应的权限。例如,如果应用需要访问互联网、使用设备摄像头或者打开或关闭 WLAN,应用需要获得相应的权限。要查看系统权限的列表,请参阅正常权限和危险权限

您的应用仅需要获得其直接执行的操作的权限。如果应用请求另一应用执行任务或提供信息,则不需要获得相应权限。例如,如果您的应用需要读取用户的地址簿,则需要 READ_CONTACTS 权限。但如果您的应用使用一个 intent 从用户的“联系人”应用中请求信息,则您的应用不需要任何权限,但“联系人”应用确实需要该权限。如需了解详细信息,请参阅考虑使用 intent

向清单添加权限


要声明您的应用需要权限,请将 <uses-permission> 元素置于您的应用清单中,作为顶级 <manifest> 元素的子项。例如,需要发送短信的应用可在清单中添加以下代码行:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">     <uses-permission android:name="android.permission.SEND_SMS"/>
        <application ...>
        ...
    </application> </manifest>

系统在您声明权限之后的行为取决于权限的敏感性。如果权限不影响用户隐私权,系统会自动授权。如果权限可能涉及对敏感用户信息的访问,系统将要求用户审批请求。要了解有关不同种类权限的详细信息,请参阅正常权限和危险权限

最新文章

  1. 基础知识(05) -- Java中的类
  2. 炼数成金(dataguru)IT技能修炼
  3. iOS开发之动画中的时间
  4. SQL Server への接続を許可するファイアーウォール設定
  5. JS和CSS的多浏览器兼容(1)
  6. 延迟加载并渐现内容的jquery插件lazyFade
  7. Silverlight 结合ArcGis 在地图画点
  8. IEEE1588协议简介
  9. 自定义Maven Archetype模板
  10. JTA事务管理
  11. mysql 存储引擎对索引的支持
  12. git从ssh到提交到github
  13. webpack管理输出
  14. SVN的使用、分支合并及解决冲突详解
  15. 通过call_usermodehelper()在内核态执行用户程序【转】
  16. delphi 查看编译版本
  17. PHP-四种解析XML文件的方法
  18. 怎样在linux下编写C程序并编译执行
  19. Hibernate-ORM:10.Hibernate中的分页
  20. 学习动态性能表(20)--v$waitstat

热门文章

  1. jsp第一章 动态网页开发基础
  2. Java中的if-else语句——通过示例学习Java编程(7)
  3. echarts 添加Loading 等待。
  4. [转]Java 8 Optional类深度解析(null处理)
  5. Open edX 配置 O365 SMTP
  6. SQL 数学串函数
  7. C# 语言 类
  8. Java动态代理之InvocationHandler最简单的入门教程
  9. python基础一 day9 函数升阶(3)
  10. mysql安装(docker)