Android 11 访问/mnt/media_rw下的U盘文件,使用File.listFiles()方法列出U盘文件,始终错误返回null,已解决。

news2024/11/26 2:37:48

背景介绍:我做的launcher有一个功能,就是检测U盘中是否有update.zip文件,有的话就拉起升级程序,没有就弹窗提示没有。使用File.listFiles()列出/mnt/media_rw下的U盘文件列表,明明U盘有文件,代码逻辑也没错,但是返回值一直是null,搜罗网上的所有方法,总结出了如下两种有效的解决方法。

解决过程

一、报错的代码

  按照如下的方式读取U盘文件:
在这里插入图片描述
  上述代码的逻辑就是优先遍历本地存储sdcard/(storage/emulated/0/)目录下有没有update.zip,没有的话去遍历/mnt/media_rw下所有挂载的U盘,进入U盘,继续遍历U盘根目录文件,找到update.zip就返回它的路径。

二、解决方法

1、指定其它路径

  不去读/mnt/media_rw目录,指定另一个目录/storage去读,U盘挂载之后也会在该目录下生成子目录,例如:/storage/7FE4-CC76。

2、修改系统代码,增加对/mnt/media_rw的读写权限

  File.listFiles()之所以会返回异常空值,是因为/mnt/media_rw需要root权限才能访问,Android 11的修改如下:添加红框中的代码。
在这里插入图片描述
在这里插入图片描述

写在最后:本文适用于Android 11,其它Android大版本读者斟酌使用。

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

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

相关文章

【JVM】类加载过程|双亲委派模型

目录 四、类加载过程 1.类加载过程 2.双亲委派模型(经典面试题) 什么是双亲委派模型 双亲委派模型的优点 破坏双亲委派模型 四、类加载过程 1.类加载过程 咱们写的java代码,是.java文件(硬盘),一个j…

手动用梯度下降法和随机梯度下降法实现一元线性回归

手动用梯度下降法实现一元线性回归 原文链接:https://www.cnblogs.com/qimoxuan/p/18407823 实验目的 本次实验旨在通过手动实现梯度下降法和随机梯度下降法来解决一元线性回归问题。具体目标包括: 生成训练数据集,并使用matplotlib进行可视化。设计一个`LinearModel`类来…

Mac清理其他文件:释放存储空间的高效指南

每个Mac用户都可能遇到存储空间不足的问题,尤其是当“其他”文件积累到一定体积时。在Mac上,“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意,但逐渐占用了…

Java-idea小锤子图标

这一版的idea小锤子图标其实就在这里 点进去就找到了~

基于C#+SQL Server2008 开发三层架构(CS界面)图书管理系统

图书管理系统 一、项目背景及意义 当今由于信息技术的飞速发展,图书馆作为社会知识信息媒介的功能日益重要,网络环境下的信息资源建设知识仓库的设计,开放存取学术交流模式,知识管理系统,智能检索,数字参…

unocss 一直热更新打印[vite] hot updated: /__uno.css

控制台持续打印了几千条这条信息,页面逐渐卡死 client.ts:450 [vite] hot updated: /__uno.css 找出的原因是:依赖出问题了,重新安装unocss, 执行命令 npm i unocss 后修复。 但奇怪的是,删除node_modules重新全部安装…

一个简约的uniapp登录界面,基于uniapp+vue3+uview-plus

uniapp-vue3-template 一个简约的uniapp登录界面,基于uniappvue3uview-plus 页面主要包括:用户登录,手机验证码登录,用户注册,重置密码等页面 登录进去后为空白模板 源码在文末 界面 源码 uniapp登录界面源码

CyberDAO·S级市场旅游研讨会:川西之行圆满落幕

穿越人海 走进川西 在这个特别的秋天,CyberDAO组织了一场集结S级精英的“川西之旅”。此次研讨会不仅是DAO成员的一次盛大聚会,更是一场集会议、团队凝聚力提升和文化生活体验为一体的全方位旅程。2024年9月7日-10日,这支团队横跨山川湖海&a…

AttackGen - AI 网络安全事件响应测试工具,附下载链接

为了提高我们团队在安全活动中的响应效率,我关注到了一款叫 AttackGen 的工具,我们需要的是一个既能快速生成场景又能准确反映现实威胁的工具。 在红蓝对抗中,我们经常要模拟各种攻击场景,以测试我们的防御水平。这不仅仅是为了“…

【 C++ 】模板初阶

目录 ​编辑 一、泛型编程 二、函数模板 1.概念 2.格式 3.原理 4.匹配原则 三、类模板 1.定义格式 2.类模板的实例化 一、泛型编程 泛型编程是一种编程范式,它允许在编写代码时使用一种通用的数据类型或算法,以便在不同的数据类型上进行操作&…

如何将QAD系统EDI模块无缝迁移到知行之桥?

什么是QAD系统? QAD(Quality, Applications, Development)系统,是专为制造业设计的一款ERP软件,主要包含供应链管理、生产管理、财务和客户管理等业务功能,这家公司1979年成立于美国,目前在汽车…

STM32高级定时器实现:两路互补PWM输出,精准死区时间控制

目录 1. 实验目的: 2. 理论知识储备 2.1什么是互补输出? 2.2什么是死区控制,有什么用? 2.3参考手册的介绍 2.4了解死区寄存器(TIMx_BDTR) 3. 软件实现 3.1GPIO配置: 3.2TIM1初始化: 3.3主函数(main) 4. 实验…

NASA数据集:ASTER L2 地表辐射率 - VNIR 和串扰校正 SWIR V003

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ASTER L2 Surface Radiance - VNIR and Crosstalk Corrected SWIR V003 简介 ASTER 地表辐射度可见近红外和串扰校正 SWIR (AST_09XT) 是一个多文件产品 (https://lpdaac.usgs.gov/documents/996/A…

第二证券:这一板块大幅吸金!

9月10日,华为、苹果两大手机品牌的新机型一起发布,A股通讯设备板块获资金大幅流入。 在9月10日的新品发布会上,苹果推出了最新的iPhone 16系列,而华为则发布了新品Mate XT特殊大师。两大科技巨子几乎一起发布新品,灵敏…

基于Linux和C++实现的RabbitMQ风格消息队列:设计与实现

文章目录 0. 前言1. 需求分析① 核心部分② 核心API③ 交换机类型④ 持久化⑤ 网络通信⑥ 消息应答 2. 模块划分Ⅰ 服务端模块① 持久化数据管理中心模块② 虚拟机管理模块③ 交换机路由模块④ 消费者管理模块⑤ 信道管理模块⑥ 连接管理模块⑦ Broker Server模块 Ⅱ 客户端模块…

Android 生成so库 并调用

第一步:创建so库 第二步:看一下Native的项目结构 自动生成引用文件build.gradle(app) externalNativeBuild {cmake {path file(src/main/cpp/CMakeLists.txt)version 3.22.1}} //每个版本的开发工具不一样 我这个是自动生成的so库…

揭秘消防电动开窗机:一键开启生命通道

揭秘消防电动开窗机:一键开启生命通道 在城市的钢铁森林中,高楼大厦如雨后春笋般涌现,为现代生活带来了前所未有的便利与繁华。然而,当火灾等突发事件来临时,这些高耸的建筑也成了逃生与救援的巨大挑战。在这关键时刻&…

瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

本文适用OpenHarmony开源鸿蒙系统,本次使用的是开源鸿蒙主板,搭载瑞芯微RK3568芯片。深圳触觉智能专注研发生产OpenHarmony开源鸿蒙硬件,包括核心板、开发板、嵌入式主板,工控整机等,提供瑞芯微RK3566、RK3568、RK3588…

重置turtle坐标及方向为初始值的Python函数:turtle.home()

【重置turtle坐标及方向为初始值的Python函数:turtle.home()】 import turtle as t t.setup(300,300,10,10) t.turtlesize(5,8) t.pensize(1) t.pencolor("red") t.left(60) t.forward(100) t.home()【代码分析】● 重置turtle坐标及方向为初始值的Pytho…

社区团购系统开发,小程序源码(团长中心、社区拼团、限时秒杀等)

前言 在数字化时代,社区团购作为一种新兴的购物方式,以其便捷、实惠的特点迅速赢得了消费者的青睐。 一、社区团购的基本概念 社区团购是一种基于社区的集体购买模式,通过线上平台组织社区居民集体采购商品,以团购的形式从供应商…