Android 应用权限

文章目录

  • 权限声明
    • uses-permission
    • permission
    • permission-group
    • permission-tree
    • 其他
      • uses-feature
  • 权限配置

权限声明

Android权限在AndroidManifest.xml中声明,<permission><permission-group><permission-tree><uses-permission>,其中最常用的是 <uses-permission>

以上四个标签必须是根元素manifest的直接子元素在这里插入图片描述

<manifest>
	<application></appliacation>
	<permission />
	<permission-group /> 
	<permission-tree />
	<uses-permission />
</manifest>

uses-permission

预定义权限,官方文档
列出几个常见权限:

<!-- 允许在应用外部存储上写入 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许在应用外部存储上读取 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 允许在可移动存储上挂载或卸载文件系统,第三方应用不可用 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

每个app都有自己的内部存储区,其他app不能访问,另外还有app外部的公共存储区。
出于习惯,/sdcard指的是手机内部固化的存储区域,是可申请访问的公共存储区。(对应上面说到的应用外部存储)存储权限

permission

自定义权限

permission-group

代表一组permission

permission-tree

为一组permission声明一个namespace

其他

uses-feature

是否需要某种硬件或软件资源

<uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />

权限配置

  1. AndroidManifest.xml中进行权限声明,见权限声明
  2. MainActivity.java中配置(本节内容)
MainActivity.java需添加import android.Manifest;否则权限名会报错

 	// 状态码
    private static int REQUEST_PERMISSION_CODE = 1;
 	// 权限数组,需要的权限
    private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS,
            Manifest.permission.READ_EXTERNAL_STORAGE, 
            Manifest.permission.WRITE_EXTERNAL_STORAGE
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
		// 请求权限
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
            if (ActivityCompat.checkSelfPermission(MainActivity.this,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(MainActivity.this,
                        PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);
            }
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TSINGSEE青犀视频汇聚机房动环智能监控方案,提升机房安全稳定性

一、背景需求 在当今信息化时代&#xff0c;机房作为数据中心的核心设施&#xff0c;承载着重要的网络设备和数据存储设备&#xff0c;其正常运行对于企业的数据安全和业务连续性至关重要。机房内部设备众多&#xff0c;且运行过程中涉及大量的数据交换和传输。一旦发生安全事…

[C][数据结构][时间空间复杂度]详细讲解

目录 0.铺垫1.时间复杂度 -- 衡量算法的运行快慢1.是什么&#xff1f;2.大O的渐进表示法 2.空间复杂度 - 衡量算法所需要的额外空间3.常见复杂度对比 0.铺垫 时间是累计的空间是不累计的&#xff0c;可以重复利用 1.时间复杂度 – 衡量算法的运行快慢 1.是什么&#xff1f; …

量化研究---大qmt实盘实现禄得可转债策略轮动

前面写了一个强大的可转债自定义系统&#xff0c;我们可以利用这个快速对接到大qmt,我提供实时数据支持 量化研究---强大的可转债分析系统上线&#xff0c;提供api&#xff0c;实时数据支持 打开网页 http://120.78.132.143:8023/ 强大可转债选择系统 http://120.78.132.143:8…

【TB作品】msp430g2553单片机,DS18B20,温控装置,iic OLED

功能 /* 硬件&#xff1a;DS18B20OLEDIIC绿灯红灯一个按键蜂鸣器加热片功能&#xff1a;1 显示温度2 显示临界值&#xff0c;按键可以加减临界值&#xff0c;临界值在20~35之间可调。3 实际温度高于&#xff08;临界值1&#xff09;后绿灯亮表示降温。4 实际温度低于&#xf…

【云原生_K8S系列】什么是 Kubernetes Pod?用实际例子解释

Kubernetes&#xff08;简称K8S&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化容器化应用的部署、扩展和管理。在Kubernetes中&#xff0c;Pod是最小的部署单元。理解Pod的概念对于掌握Kubernetes至关重要。本篇文章将详细解释什么是Kubernetes Pod&#xff0c;并…

【机器学习】LoRA:大语言模型中低秩自适应分析

LoRA&#xff1a;大型语言模型中的低秩自适应调优策略 一、LoRA的原理与优势二、LoRA在编程和数学任务中的性能表现四、总结与展望 随着人工智能技术的飞速发展&#xff0c;大型语言模型已成为自然语言处理领域的明星技术。然而&#xff0c;这些模型通常拥有数以亿计的参数&…

vivado BD_PIN、BD_PORT

BD_PIN 描述 块设计引脚或bd_pin对象是块设计上的逻辑连接点 单间牢房块设计引脚允许抽象单元的内部逻辑&#xff0c;并且 简化以便于使用。引脚可以是标量引脚或总线引脚&#xff0c;并且可以出现在层次结构上 块设计单元或叶级单元。 相关对象 如图所示&#xff0c;块设计引脚…

Mac保姆级配置jdk环境

1.找到下载的jdk环境 通常是这个。留作备用 /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/bin 然后新开一个终端下执行以下命令 sudo vim ~/.bash_profile 进入编辑模式后 按 i 开始添加内容结束编辑模式按 ESC结束后保存输入 :wq!不保存输入 :q! 注意…

react native中内容占位效果

react native中内容占位效果 效果实例图实例代码skeleton.jsx 效果实例图 实例代码skeleton.jsx import React, { useEffect, useRef } from "react"; import { Animated, StyleSheet, View } from "react-native"; import { pxToPd } from "../../.…

【Lua】IntelliJ IDEA 写注释或选中变量单词时偶尔会选中相邻的内容或下一行内容

例如: --UI代码local a 0 当你想在a变量上方加一行 --UI代码注释时&#xff0c;会发现敲打daima中文拼音时&#xff08;还未按回车&#xff09;就会选中当前行以及下一行前半部分。 打完按空格就会变成这样子&#xff01; 原因是因为开启了英文检测&#xff0c;需要关掉它。 …

LabVIEW实现汽车逆变器功能测试系统

​介绍了如何利用LabVIEW开发汽车逆变器&#xff08;包括功率板和控制板&#xff09;的自动测试设备&#xff08;ATE&#xff09;&#xff0c;实现对额定800V电压、300A电流的逆变器进行功能测试。系统通过CAN2.0通讯协议&#xff0c;实现电机控制、温度传感器监测、电压校验和…

js中弹框有那些,提示框、请求成功弹窗、请求失败弹框等

我这里写的是个人推荐仅供参考&#xff1a; 效果图&#xff1a; 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><script src"js/jquery-3.6.3.js"></script><style&g…

el-table的一些操作

1.el-table实现全部选择和全部取消 其实非常简单&#xff0c;el-table自带的都有方法toggleAllSelection()和clearSelection() 表格数据&#xff1a; <el-button clickcheckAll>全选</el-button> <el-button clickcancelAll>反选</el-button>// 全…

SQL进阶day10————多表查询

1嵌套子查询 1.1月均完成试卷数不小于3的用户爱作答的类别 我的代码&#xff1a;思路就是这么个思路&#xff0c;反正没有搞出来当月均完成试卷数 select tag,count(submit_time) tag_cnt from exam_record er join examination_info ei on er.exam_id ei.exam_id where uid…

【从零开始部署SAM(Segment Anything Model )大模型 3 Ubuntu20 离线部署 C++】

这里是目录 总览环境配置模型准备Moble SAM onnx模型获取Moble SAM pre onnx模型获取 运行cmakelist 运行结果 总览 相比于使用python离线部署SAM大模型&#xff0c;C要麻烦的多&#xff0c;本篇的部署过程主要基于项目&#xff1a;https://github.com/dinglufe/segment-anyth…

Python中上下文管理器解析

文章目录 基本原理上下文管理器的工作原理自定义上下文管理器enter和exitcontextlib 模块 异常处理 Python中的上下文管理器&#xff08;Context Manager&#xff09;是一种用于管理资源的机制&#xff0c;特别是在文件操作、数据库连接和锁定等场景中非常有用。上下文管理器通…

python替换“${}“占位符为变量,实现读取配置文件

文章目录 背景1、定义正则表达式2、替换变量占位符3、实现功能 背景 使用python编写小工具&#xff0c;有一个配置文件&#xff0c;希望实现类似shell命令的&#xff0c;定义变量并且使用${}或者$来引用。如果有好的建议欢迎讨论。 配置文件示例内容如下: D:\project\test\pr…

Windows下通过Ollama部署使用本地模型

Windows下通过Ollama部署使用本地模型 下载Ollama 安装主程序 Ollama下载exe&#xff0c;直接下一步下一步没有设置可以更改 windows默认安装路径在C盘 安装后会自动将该路径加入环境变量 双击图标运行后状态栏会出现小图标&#xff0c;右键有退出、打开日志文件夹按钮 通过…

mac配置Personal Access Tokens

背景 在macbook环境中&#xff0c;使用idea、android studio、xcode时&#xff0c;使用gitlab需要登录&#xff0c;而直接使用文明密码是不允许登录的&#xff0c;这时就需要换种方式&#xff0c;这里有两种&#xff1a;ssh、Access Tokens&#xff0c;在公用电脑上推荐使用Ac…

Linux网络的DHCP配置

文章目录 DHCP配置DHCP流程简述DHCP优点DHCP的分配方式DHCP的租约过程DHCP配置实验实验1实验2 DHCP配置 DHCP&#xff1a;动态主机配置协议 服务端和客户端 服务端&#xff1a;server&#xff0c;提供某种特定的服务 客户端&#xff1a;client&#xff0c;使用服务端提供的服…