当前标签 / Android权限申请 / 总共2篇

使用开源框架 Dexter 轻松实现 Android 动态权限申请

我们都知道 Android Marshmallow 引入了运行时权限,允许用户在运行时允许或拒绝任何权限。实现运行时权限是一个冗长乏味的过程,开发人员需要编写大量代码才能获得单个权限。

在本文中,我们将简化使用 Dexter 库添加运行时权限的过程。使用这个库,权限可以在几分钟内实现。下载示例 APK

这是一篇关于 Dexter 的介绍性文章,介绍了该框架所提供的基本特性。Dexter 还提供了其他一些功能,比如与 SnackBar 一起使用、不同类型的监听器、错误处理等等。你可以在 Dexter 的 GitHub主页 页面找到更多信息。

阅读更多

Android内部分享[8]——Android系统的应用程序权限申请

Android 中的权限概述

Android 中需要申请权限的目的是保护用户的隐私。如果你的应用程序需要访问用户的敏感数据,必须申请对应的访问权限(如联系人和短信) ,还有一些系统功能的使用也需要申请权限(如摄像头和互联网)。根据功能和安全等级的不同,Android 系统可能会自动授予权限,也可能提示用户确认并同意权限请求。

Android 安全架构设计的一个核心点就是默认情况下没有任何应用程序有权执行任何可能对其他应用程序、操作系统或用户造成不利影响的操作。这包括读取或写入用户的私有数据 (如联系人或电子邮件)、读取或写入另一个应用程序的文件、执行网络访问、保持设备处于清醒状态等等。

接下来我们来看一下 Android 权限的工作原理,包括:权限如何呈现给用户、安装时和运行时权限请求之间的区别、如何执行权限、权限类型及其权限组。

申请Android应用程序权限

应用程序必须通过在应用程序清单(app manifest)中包含 <uses-permission> 标记来公开它需要的权限。例如,需要发送 SMS 消息的应用程序清单中会有下面这一行权限声明:

<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>

如果您的应用程序在其清单中列出了普通权限(即不会对用户隐私或设备操作造成太大风险的权限),系统会自动将这些普通权限授予您的应用程序。如果您的应用程序在其清单中列出了危险的权限(即可能影响用户隐私或设备正常运行的权限),例如上面的 SEND_SMS 权限,用户必须明确同意授予这些权限。

阅读更多