File.listFiles()返回null

本文探讨了在Android 10 (API 29)中使用File.listFiles()返回null的问题,并提供了解决方案。建议将targetSdkVersion降至28或使用FileProvider,同时确保已正确申请READ_EXTERNAL_STORAGE权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

File.listFiles()返回null

这几天Android Studio 用的是3.6.3,新项目使用一个原有的获取Android文件列表的工具类,说啥也不显示,同样的工具类,其他老的APP都好用,一脸懵逼。

排查后发现 新项目的 targetSdkVersion 是29 也就是 Android 10.0  

最简便的办法是直接改 targetSdkVersion   改成28,问题完美解决。

 

当然如果忘记动态申请权限也会导致返回null

解决方法

如果是android6.0以前,在AndroidManifest.xml添加<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>即可。若在android6.0之后,则还要动态申请权限。 详细做法按照下文即可 https://blog.csdn.net/u013144287/article/details/79298358

 

如果 targetSdkVersion 依然是29 ,解决办法,我有空研究一下,好像要用FileProvider吧。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值