Android应用权限请求步骤

news2024/10/6 16:18:55

1.在AndroidManifest.xml中配置请求权限

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2.在onCreate(Bundle savedInstanceState)方法中请求权限

//授权请求
        if (Build.VERSION.SDK_INT >= 24) {
            System.out.println("版本正确");
            checkPermission();
        }else {
            System.out.println("版本过低");
        }

权限检测实现代码

private static final int REQUEST_CODE = 1;
    private static String[] PERMISSIONS_STORAGE = {
            "android.permission.READ_EXTERNAL_STORAGE",
            "android.permission.WRITE_EXTERNAL_STORAGE"};
    //授权检测
    private void checkPermission() {
        //权限是否已经赋予
        if (m_activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {
            //未赋予权限,申请权限
            if (m_activity.shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                //选择不开启权限的时候,提示用户
                Toast.makeText(m_activity.getApplicationContext() , "请开通相关权限,否则无法正常使用本应用!", Toast.LENGTH_SHORT).show();
            }
            //申请权限
            m_activity.requestPermissions( PERMISSIONS_STORAGE, REQUEST_CODE);

        } else {
            //权限已赋予
            Toast.makeText(m_activity.getApplicationContext(), "已授权成功!", Toast.LENGTH_SHORT).show();
        }
    }

权限请求结果代码

 public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            //权限的申请结果返回
            case REQUEST_CODE: {
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    //已授权
                    Toast.makeText(m_activity.getApplicationContext(), "授权成功!", Toast.LENGTH_SHORT).show();
                } else {
                    //未授权
                    Toast.makeText(m_activity.getApplicationContext(), "授权被拒绝!", Toast.LENGTH_SHORT).show();
                }
            }
        }
    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ffmpeg之linux编译

文章目录 一、下载源码二、选项说明三、依赖库四、编译安装 一、下载源码 上官网https://ffmpeg.org/download.html下载源码 二、选项说明 --disable-static&#xff1a;禁止构建静态库&#xff0c;默认关闭&#xff08;即默认构建的是静态库&#xff09;--enable-shared&a…

脉冲离子风棒的工作原理、特点及其应用

脉冲离子风棒是一种独特的清洁工具&#xff0c;它利用高能离子风的冲击力&#xff0c;可以快速而彻底地清洁物体表面静电。本文将介绍脉冲离子风棒的工作原理、特点以及其在清洁领域的应用。 脉冲离子风棒的工作原理是利用高能脉冲电场将气体中的分子电离&#xff0c;并产生离子…

OpenText 企业内容管理平台的亮点及优势

OpenText Extended ECM 平台 将内容服务与领先应用程序集成&#xff0c;以弥合内容孤岛、加快信息流并扩大治理 什么是内容服务集成&#xff1f; 内容服务集成通过将内容管理平台与处于流程核心的独立应用程序和系统连接起来&#xff0c;支持并扩展了 ECM 的传统优势。 最好的…

Itext 7 生成pdf带有背景图

Itext 7 生成pdf带有背景图并下载PDF到本地 引入jar包 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.0.3</version><type>pom</type></dependency>代码实现 Get…

unity场景名对象在Inspector面板以下拉列表显示

unity场景名对象在Inspector面板以下拉列表形式显示&#xff0c;避免输入错误。 首先创建一个类用来获取BuildSetting中场景列表中的所有场景名字 public class MSceneName : PropertyAttribute {/// <summary>/// 场景名列表/// </summary>public string[] Name…

Linux驱动学习(4) MTD字符驱动和块驱动2

系列文章目录 Linux驱动学习&#xff08;4&#xff09; MTD字符驱动和块驱动1 Linux驱动学习&#xff08;4&#xff09; MTD字符驱动和块驱动2 Linux驱动学习&#xff08;4&#xff09; MTD字符驱动和块驱动3 文章目录 目录 系列文章目录 文章目录 前言 一、mtd字符设备…

react antd阻止Checkbox事件冒泡(折叠面板标题中增加复选框,阻止点击复选框折叠面板展开/折叠)

背景 折叠面板Collapse标题中增加复选框&#xff0c;点击复选框&#xff0c;会触发折叠面板的展开和折叠。 我们希望勾选复选框的时候&#xff0c;不能影响到折叠面板的展开和折叠。 最开始使用onChange自带的event来阻止事件冒泡&#xff0c;这种方式是无效的&#xff0c;代…

安卓应用的图标设计

参考链接&#xff1a;https://developer.android.com/studio/write/create-app-icons 安卓的图标比较复杂&#xff0c;因为有很多图标。可以用一张自己的图做图标&#xff0c;本文介绍其过程。 运行image asset studio&#xff0c;在android studio中&#xff0c;项目栏中&…

芒果在线咸鱼转转交易猫聊天客服源码

芒果在线咸鱼转转交易猫聊天客服源码是一款为咸鱼转转定制的客服系统&#xff0c;具备前后台管理功能&#xff0c;还支持咸鱼转转模板和分享图功能。本文将介绍该客服系统的安装方法&#xff0c;以及如何修改公告内容和机器人自动回复内容。

Redis异常报错出现 WRONGTYPE Operation against a key holding the wrong kind of value

操作Redis做一个查询优化的时候出现一个问题&#xff1a; org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: WRONGTYPE Operation against a key holding the wrong kind of v…

发现好工具nodepad-- 你没有看错是--

工欲善其事&#xff0c;必先利其器 这是一个使用C编写的文本编辑器Notepad--,可以支持Win/Linux/Mac平台。 他们的目标是要进行文本编辑类软件的国产可替代&#xff0c;重点在国产Uos/Linux系统、Mac 系统上发展。 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是…

百家号关键词榜怎么上?排名规则是什么?

百家号关键词榜怎么上?排名规则是什么?#百家号关键词排名 #百家号v认证 #百家号代运营 #百家号排名技巧 如何利用百家号关键词排名实现“百度首页霸屏”&#xff1f;#百度霸屏技术 今天给大家介绍一下百度百家号是百度为内容创作者提供的内容发布、内容变现和粉丝管理平台。 …

统信UOS1060版本安装时选择【免费使用授权】安装的方法

1.选择界面化进行安装操作。 2.在选择授权类型中选择【免费使用授权】即可&#xff0c;根据其他提示进行选择安装目的地及根密码root密码的设置。 3.剩下的就是下一步下一步进行安装。

使用Nginx的反向代理来访问服务器例子——Nginx笔记

因为网站上的视频加载过慢&#xff0c;想使用nginx服务器实现HLS视频播放服务。顺便记录一下通过Nginx的方向代理来访问服务器。这里在原先的项目上进行改造。原先的项目已经部署在公网&#xff0c;使用tomcat服务器&#xff0c;可以直接用地址进行访问。 1.这里使用的8080端口…

2018年全国硕士研究生入学统一考试管理类专业学位联考数学试题——纯题目版

2018 级考研管理类联考数学真题 一、问题求解&#xff08;本大题共 5 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09;下列每题给出 5 个选项中&#xff0c;只有一个是符合要求的&#xff0c;请在答题卡上将所选择的字母涂黑。 1.学科竞赛设一、二、三等奖&…

Flink CDC 2.4 正式发布,5分钟了解CDC 2.4新内容,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本

Flink CDC 2.4 正式发布&#xff0c;5分钟了解CDC 2.4新内容&#xff0c;新增 Vitess 数据源&#xff0c;更多连接器支持增量快照&#xff0c;升级 Debezium 版本 01. Flink CDC 简介02. Flink CDC 2.4 概览03. 详解核心特性和重要改进3.1 深入解读3.2 其他改进 04. 未来规划 来…

vue中实现el-table点选和鼠标框选功能

实现思路: 项目有两个需求,既能在el-table实现点选又能实现鼠标框选 一. 点选实现思路: 使用el-table的cellClick方法, 1.直接给点击的cell添加类名,cell.classList.add("blue-cell");然后把获取的数据存入数组, 设置样式: ::v-deep .el-table td.blue-cell {border:…

安全帽冲击试验机

一、特点&#xff1a; KDJS-20AM安全帽冲击试验机&#xff08;以下简称试验机&#xff09;适用于安全防护器材安全帽冲击吸收性能试验与安全帽耐穿刺性能试验&#xff0c;冲击和穿刺试验结果既可直接导出到电子表格&#xff0c;也可上传至管理系统。 二、主要技术参数&#x…

蓝牙资讯|未来几年物联网迅猛发展,蓝牙发挥重要作用

IDC预测&#xff0c;2023年全球物联网(IoT)支出将达到8057亿美元&#xff0c;比2022年增长10.6%。物联网生态系统的投资预计将在2026年超过1万亿美元&#xff0c;在2023-2027年的预测期内&#xff0c;复合年增长率(CAGR)为10.4%。 到2023年&#xff0c;物联网服务将成为最大的…

mysql新建用户,连接认证时报错的解决办法

问题描述 mysql新建用户后&#xff0c;修改密码&#xff0c;进行连接认证时报错 Access denied for user testuserlocalhost (using password: YES)原因分析&#xff1a; 未授权 解决方案&#xff1a; GRANT ALL ON *.* TO testuserlocalhost ;注意*.*指对所有数据库下的所…