Android中的特殊权限
AndroidManifest中定义的权限分为普通权限,危险权限和特殊权限。
- 普通权限指的是不会威胁到用户的安全和隐私的权限,只需要在AndroidManifest中声明一下就能直接使用。
- 危险权限指的是可能会触及用户隐私或者对设备安全性造成影响的权限,如获取设备联系人信息,定位设备的地理位置等。这部分权限需要通过代码进行申请弹出许可对话框,当用户手动统一之后才会获得授权。
- 特殊权限比较少见,Google认为这类权限比危险权限还要敏感,因此需要让用户到专门的设置页面去手动对某一个应用程序授权。
常用的特殊权限:
- 悬浮窗权限 SYSTEM_ALERT_WINDOW
AndroidManifest.xml中加入下面的代码
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
跳转到指定的页面
val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION)
startActivity(intent)
使用下面的Api判断权限是否已经授予
Settings.canDrawOverlays(context)
2. 修改设置权限 WRITE_SETTINGS
AndroidManifest.xml中加入下面的代码
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
跳转到指定的页面
val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
startActivity(intent)
使用下面的Api判断权限是否已经授予
Settings.System.canWrite(context)
3. 管理外部储存 MANAGE_EXTERNAL_STORAGE
AndroidManifest.xml中加入下面的代码
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
跳转到指定的页面
val intent = Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
startActivity(intent)
使用下面的Api判断权限是否已经授予
Environment.isExternalStorageManager()
Android中的特殊权限的更多相关文章
- android中获取root权限的方法以及原理(转)
一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...
- Android中的文件权限操作
默认本工程创建的文件本工程对其有读写权限. 我们可以通过context.openFileOutput("文件名", 模式): 我们可以创建私有, 共有, 只读, 只写文件, 默认的 ...
- android 中使用自定义权限在广播中的利用
1.在一个进程中发送一个有自定义权限的广播,另外一个进程中拥有广播接受者接受到该广播 <?xml version="1.0" encoding="utf-8&quo ...
- android 中使用自定义权限
1.如果在一个进程中启动另外一个进程的activity <?xml version="1.0" encoding="utf-8"?> <man ...
- 快速解决Android中的selinux权限问题【转】
本文转载自:http://blog.csdn.net/mike8825/article/details/49428417 版权声明:本文为博主原创文章,未经博主允许不得转载. 关于selinux的详细 ...
- Android中的ACCESS_MOCK_LOCATION权限使用Demo
转载地址:http://mobiarch.wordpress.com/2012/07/17/testing-with-mock-location-data-in-android/ The DDMS t ...
- Android 中运行时权限获取联系人信息 Demo
代码比较简单... AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <m ...
- Android中如何做到自定义的广播只能有指定的app接收
今天没吊事,又去面试了,具体哪家公司就不说了,因为我在之前的blog中注明了那些家公司的名字,结果人家给我私信说我泄露他们的题目,好吧,我错了...其实当我们已经在工作的时候,我们可以在空闲的时间去面 ...
- Android中应用程序如何获得系统签名权限
有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权.此时即便是在AndroidManifest.xml中添加了相应的permission,依旧会得到没有xx访问权限的问题.比如android ...
- Android基础知识之Manifest文件中的用户权限元素
原文:http://android.eoe.cn/topic/android_sdk 分任务原文链接一:http://developer.android.com/guide/topics/manife ...
随机推荐
- 004 jmeter断言、集合点、函数、分布式
1.断言 *定义:断言就是让程序代替人工去判断程序响应数据是否达到预期结果. *断言可以检查返回数据的正确性与完整性 *常见的断言 *响应断言(断言状态码+断言文本值)哪个接口需要断言就在哪一个接口后 ...
- IaaS--云虚拟机(一)(何恺铎《深入浅出云计算》笔记整理)
[概念讲解] 云虚拟机的体系结构,就是全面解耦的计算存储分离的设计思想. 传统的虚拟化,往往是对单一物理机器资源的纵向切割,计算.存储.网络等各方面的能力都是一台物理机的子集.因此,从可伸缩性的角度来 ...
- python-djanggo 实现读取excel 表格在网页中展示
1.准备读取数据 放到项目文件夹下 2.熟悉表结构 3.准备处理依赖库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas o ...
- Linux系统时间的设定以及自带的timesync时间同步
1.三个阶段的系统时间设定 1.1 内核启动阶段 这里是在menuconfig文件配置RTC设定系统时间选项. CONFIG_RTC_HCTOSYS_DEVICE="rtc1&qu ...
- Kubernetes DevOps CD工具对比选型
目录 Kubernetes DevOps CD工具对比选型 一.Flux 二.ArgoCD 三.Jenkins X 四.方案比较 Kubernetes DevOps CD工具对比选型 一.Flux 1 ...
- C语言学习记录(三)
C语言学习记录(三) 一.知识要点(数据类型.运算符与表达式) 1.C语言的数据类型 C语言数据结构有:基本类型.指针类型.构造类型和空类型.其中基本类型:查看书籍的22页表3-1. C语言的基本数据 ...
- Java基础__03.异常
什么是异常? 异常是指程序运行中出现的各种例外情况,如文件找不到.网络连接失败.传参错误...异常发生在程序运行期间,它影响了正常的程序执行流程. 异常体系结构: 在java中,异常是被当作对象来处理 ...
- 搭建webssh和nginx反向代理
0.前置条件,centos主机安装了python3和nginx 1.安装webssh pip3 install webssh 2.添加自定义服务 systemctl cat webssh # ...
- webpack从零开始打造react项目(更新中...)
创建项目 创建文件夹 webpack-test 使用编辑器打开文件夹,我们初始化管理包 npm init -y 生成一个默认的 pageage.json 文件 要想创建react项目,思考我们之前使 ...
- Oracle11g空表导出设置
alter system set deferred_segment_creation=false; select 'alter table '||table_name||' allocate exte ...