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 ...
随机推荐
- go-使用 vscore 调试 go 语言
{ // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linki ...
- 并发多线程学习(三)Java多线程入门类和接口
1 Thread类和Runnable接口 上一章我们了解了操作系统中多线程的基本概念.那么在Java中,我们是如何使用多线程的呢? 首先,我们需要有一个"线程"类.JDK提供了Th ...
- autohotkey switching within applications
class QdirManager { ppid := -1 ppath := "" __New(pathIn) { this.ppath := pathIn } __Delete ...
- sqlalchemy+pandas:错误 'OptionEngine' object has no attribute 'execute','str' object has no attribute '_execute_on_connection'
场景:使用 sqlalchemy+pandas 1. 'OptionEngine' object has no attribute 'execute' import pandas as pd fro ...
- Treetop Lights使用条款与免责协议
Treetop Lights (以下简称"我们")在此特别提醒您务必认真阅读.充分理解本<使用条款与免责协议>(以下简称"本协议")中各条款并选择是 ...
- webrtc windows编译记录
//cmd set path=D:\zzh\depot_tools;%path% set DEPOT_TOOLS_WIN_TOOLCHAIN 0 set vs2022_install=C:\Progr ...
- 【情景题】NPDP经典题目(上)
[情景题]NPDP经典题目(上) 1.一家玩具生产企业正在为10-12岁的儿童开发一种"动力车".潜在风险:尽管该公司在玩具市场有着丰富的经验,但是这些经验主要是针对5岁以下儿童玩 ...
- centos7.2下配置DNS服务器
https://baijiahao.baidu.com/s?id=1748980460185046641&wfr=spider&for=pc 1.安装bind(服务器) yum -y ...
- vue 绑定样式,跟点击事件的顺序会影响
<view class="mfst-item" v-for="(item, idx) in majorArr" :key="mfsKey&quo ...
- 集成GIT仓库
集成GIT仓库 jgit - java实现git操作 一个 Java 程序中使用 Git ,有一个功能齐全的 Git 库,那就是 JGit . JGit 是一个用 Java 写成的功能相对健全的 Gi ...