android-file 相关问题

特别是Android`File`类,但也可以参考Android操作系统下的文件的通用概念

Android - 如何从 ParcelFileDescriptor 访问文件?

根据 FileProvider 文档,fileProvider.openFile() 方法返回 一个新的 ParcelFileDescriptor,您可以使用它访问该文件。 我查看了 ParcelFileDescriptor,但是我

回答 1 投票 0

如何使用Context.getExternalFilesDirs(String)、Context.getExternalCacheDirs()获取/storage/emulated/0

如果我使用Environment.getExternalStorageDirectory(),我将正确获取/storage/emulated/0。但是 getExternalStorageDirectory 已被弃用,因此我尝试使用

回答 2 投票 0

在Android Studio中,如何以列列表形式显示保存到内部目录中的文件?

我在 Android Studio 中开发了一个简单的应用程序,它尝试在列列表中显示保存在内部目录中的文件,但它不起作用。 这是代码 // 文件目录...

回答 1 投票 0

如何在 Android 上就地编辑照片

我正在制作一种特定类型的照片编辑器,旨在从照片中编辑内容。由于其本质,从用户体验的角度来看,就地编辑照片而不是保存照片非常有意义......

回答 1 投票 0

如何在Android中从视频URL捕获/录制剪辑并保存到手机

在Android中,是否可以从视频URL(例如:http://www.test.com/video.mp4)录制短片(例如:视频中的任意5-10秒)? 例如,我想流式传输视频(来自...

回答 3 投票 0

如何从MediaStore.File和MediaStore.File.FileColumn获取数据

我正在尝试获取其中包含音频文件的所有文件名我已经使用 Mediastore 来获取媒体存储音频、专辑、播放列表和音频数据,但是我如何获取其中的文件或文件夹标题

回答 2 投票 0

如何在android上获取文件名中带有点的文件的mime类型

我使用以下代码获取文件的 mime 类型: 私有字符串 getMimeType(字符串 url) { 字符串类型=空; 字符串扩展名 = MimeTypeMap.getFileExtensionFromUrl(url); ...

回答 2 投票 0

为什么我无法复制/删除使用 flutter 创建的文件?

使用flutter应用程序,我在'storage/emulated/0/Documents/Keep/cs.db'路径中创建了一个db文件。我删除了该应用程序。我再次安装了该应用程序并想要删除/复制我创建的文件。但现在我做不到

回答 1 投票 0

通过USB OTG获取连接的USB驱动器的可用空间

使用 StorageManager,我们可以访问通过 USB OTG 连接到 Android 智能手机的可移动闪存驱动器: val storageManager = context.getSystemService(Context.STORAGE_SERVICE) 作为 StorageManager

回答 1 投票 0

Android 11(30 API)File.listFiles() 不返回所有文件

所以我测试了29和30个Android API设备。两者都有包含 5 个文件的下载文件夹(两台设备相同)。 应用程序有 所以我测试了 29 和 30 个 Android API 设备。两者都有包含 5 个文件的下载文件夹(两台设备相同)。 应用程序在清单中有 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 并在运行时请求它。 还包括android:requestLegacyExternalStorage="true"(仅适用于Android 10,Android 11忽略它) private fun init() { val path = File(Environment.getExternalStorageDirectory(), "Download") val files = path.listFiles() Timber.d("Android API ${Build.VERSION.SDK_INT}, dirFiles \n${files?.joinToString(separator = "\n") { it.name }}") } Android 11(30 SDK): 2021-10-06 23:40:52.182 9022-9022/com.example.tests D/MainActivity: Android API 30, dirFiles Elephants Dream.srt Elephants Dream.mkv Android 10(29 SDK): 2021-10-06 23:45:51.835 8293-8293/com.example.tests D/MainActivity: Android API 29, dirFiles Elephants Dream.srt Elephants Dream.ssa Elephants Dream.vtt Elephants Dream.ass Elephants Dream.mkv 如您所见,Android 11 并未使用 File.listFiles() 方法返回所有文件。 它通过某些媒体过滤器在系统级别过滤文件。附注MediaStore游标查询返回相同的有限结果 它识别srt格式的字幕文件是媒体类型,但ssa、vtt或ass字幕文件不是媒体! 很奇怪的逻辑。 ssa、vtt、ass也是字幕! 对于 Android 10 读取或写入存储权限在设置中如下所示: 对于 Android 11 读取或写入存储如下所示: 我有一个视频播放器应用程序,它必须支持多种字幕格式,但我只能在 Android 11 上获得 srt。 如何获取所有需要的文件? 更新 似乎 Android 11 的唯一方法是 请求所有文件访问权限 https://developer.android.com/training/data-storage/manage-all-files#all-files-access 但是要获得Google的批准将会是一个挑战 我们可以使用 SAF(存储访问框架),但它对于 Android 11 有很多限制 https://developer.android.com/training/data-storage/shared/documents-files#document-tree-access-restrictions VLC 媒体播放器现在使用 android.permission.MANAGE_EXTERNAL_STORAGE(所有文件访问)权限 https://github.com/videolan/vlc-android/blob/89c2deb5fd4983dd64e0e55bc5ab8e559612c9d9/application/vlc-android/AndroidManifest.xml#L12 因此,这是访问所有类型/格式的字幕和视频的唯一方法,但如果 Google 允许并批准您的应用程序的此类权限,那么这是唯一的问题。 通常此权限可以在文件浏览器、防病毒扫描等应用程序中使用,没有任何问题,但官方文档没有提及媒体播放器。 有新的媒体权限(针对视频、音频、图像),但它们没有用,视频媒体权限看不到所有可用的视频格式,只能看到一般的视频格式,并且没有字幕权限,因此应用程序可以访问 srt、ass、 vtt等格式的字幕。 因此,具有所有文件访问权限的 VLC 应用程序更新已获得 Google 批准,但正如我之前在评论中所说,我的视频播放器应用程序被拒绝。 VLC 和我的应用程序都使用 libVLC 来播放不同格式的视频和字幕,但权限不能被同一类别的每个应用程序使用... https://developer.android.com/training/data-storage/manage-all-files 这个解决方案对我有用。 在清单中添加权限: <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> 在 Activity 的 onStart() 方法中,放置动态请求权限: @Override protected void onStart() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) { Uri uri = Uri.parse("package:" + BuildConfig.APPLICATION_ID); Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, uri); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.getApplicationContext().startActivity(intent); } super.onStart(); }

回答 2 投票 0

如何打开GmsDocumentScanningResult.Pdf

我想使用我的默认 PDF 应用程序打开 GmsDocumentScanningResult.Pdf 对象。 我尝试过以下方法: resultIntent?.pdf?.let { pdf: GmsDocumentScanningResult.Pdf -> val pdfUri = pdf...

回答 1 投票 0

如何在android API 37中复制文件?

我正在制作一个应用程序,我需要将图像从一个文件夹复制到android本地存储中的另一个文件夹。我尝试过使用 Apache 库、流、FileChannel 等。基本上,我拥有的所有解决方案

回答 1 投票 0

在旧的 Android 设备上写入二进制数据很慢

我想知道是否有人可以提供任何建议来提高旧企业 Android 5.1 设备上二进制数据写入的性能。 FileOutputStream fileOutputStream = new FileOutputStream(

回答 1 投票 0

Android 模拟器镜像存储在哪里?

在模拟器上,我从Google下载了一张图片。我可以在模拟器上找到该图像,但我不知道该图像的文件位置是什么。要调试我的应用程序,我需要知道该图像在哪里......

回答 9 投票 0

DocumentFile.canWrite()、DocumentFile.exists() - 使用本地内置手机存储(而非云)时性能较差(占用太多 CPU 时间)

我不太确定,但是为什么在使用内置手机外部存储(不是云)时,与文件相比,存在以下 DocumentFile 和 canWrite 函数需要太多 CPU 时间? 我...

回答 1 投票 0

我在Android 13版本手机上无法检索文件上传的真实路径

我使用此对象从所选文件的 URI 中获取其真实路径: 对象 RealPathUtil { fun getRealPath(context: Context, fileUri: Uri): 字符串? { val realPath:字符串? // SDK < A...

回答 1 投票 0

来自 Intent.ACTION_OPEN_DOCUMENT 提供的 Android URI 的文件上次修改时间

我需要编写一个Android应用程序来观察另一个应用程序何时修改文件,然后从中读取数据。该文件由用户选择。所以我想使用 Intent 以及文件选择器是什么

回答 3 投票 0

Android,如何获取文件夹中所有文件的列表?

我需要 res/raw/ 目录中所有文件的名称(字符串)。 我试过: 文件 f = 新文件(“/”); String[] someFiles = f.list(); 看起来根目录就是android的根目录

回答 7 投票 0

Android,如何获取文件夹中所有文件的列表?

我需要 res/raw/ 中所有文件的名称(字符串) 我试过: 文件 f = 新文件(“/”); String[] someFiles = f.list(); 看起来根目录是android模拟器的根目录...而不是我的

回答 7 投票 0

Android - 与文件管理器共享意图作为选项

我想要以下功能: 在我的应用程序的内部存储中,我有一个文件,用户应该能够将其保存到另一个应用程序(例如 Google Drive)或将其保存到手机的外部存储...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.