scoped-storage相关内容
我正在实施存储访问框架以授予Android文件夹访问权限。我已经更新了targetSDKVersion=30,在Android 11上我遇到了存储权限问题。我希望获得访问Android/media/com.whatsapp/WhatsApp/Media中文件的存储权限。 为了使存储权限起作用,我实现了存储访问框架,以获得Android/media/com.whatsapp/WhatsApp/
..
我需要在原生 C/C++ 代码中的 Android 应用程序中按文件名打开文件.本机代码是我不想修改的第 3 方库,但它们通常需要文件名作为读取/写入文件的参数.使用 Google 的“范围存储"API 并在 Android 10 或更高版本中禁用对文件的本机访问,这是一个真正的问题. 一个众所周知的解决方案是获取文件描述符并使用“proc/self/fd/FD_NUMER"技巧,例如:
..
..
我最近将我的应用程序切换到了 Scoped Storage.但是,我注意到,当我从应用程序内(通过 Intent)共享图像时,GPS 位置数据会从图像的 Exif 元数据中删除.我知道 Scoped Storage 对访问图像的 Exif 位置数据有一些限制,并且我知道权限
..
背景 我的应用(此处) 可以在整个文件系统(不仅仅是已安装的应用程序)中搜索 APK 文件,显示每个文件的信息,允许删除、共享、安装... 作为 Android Q 范围内存储功能的一部分,谷歌宣布 SAF(存储访问框架)将取代正常的存储权限.这意味着即使您尝试使用存储权限,它也只会授予访问特定类型的文件的权限,以便使用或完全沙盒化的 File 和 file-path(写于 此处).
..
我正在尝试在我的 Android 10 (API 29) 设备上获得 MANAGE_EXTERNAL_STORAGE 权限. https://developer.android.com/training/data-存储/管理所有文件 清单: 主要活动: Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES
..
我最近将我的应用切换到了范围存储.但是,我注意到当我从应用程序内部共享图像时(通过 Intent),GPS 位置数据会从图像的 Exif 元数据中删除.我知道 Scoped Storage 对访问图像的 Exif 位置数据有一些限制,并且我知道权限
..
更新: 要保存PDF文件: 在下面的答案部分. 要保存位图文件: @RequiresApi(api = Build.VERSION_CODES.Q)@NonNull私有Uri saveBitmap(@NonNull最终上下文上下文,@ NonNull最终位图位图,@NonNull最终Bitmap.CompressFormat格式,@ NonNull最终String mimeT
..
背景 直到Android Q,如果我们想获取有关APK文件的信息,可以使用 WRITE_EXTERNAL_STORAGE 和文件路径上的 PackageManager.getPackageArchiveInfo 函数. 存在类似的情况,例如使用 ZipFile类> 压缩文件,可能还有无数的框架API和第三方库. 问题 Google最近宣布了对Android Q的大量限制.
..
针对这个问题,我已经花了很长时间了...我正在更新一个使用DownloadManger来执行简单任务的应用程序,例如将文件下载到外部存储公共目录,即: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) 一切都可以从Android api 19-28正常运行.在API 29(Q/10)
..
我需要在本机C/C ++代码中的Android应用中按文件名打开文件.本机代码是我不希望修改的第三方库,但是它们通常需要文件名作为读取/写入文件的参数.有了Google的“范围存储" API并在Android 10或更高版本中禁用了对文件的本地访问,这是一个真正的问题. 一种众所周知的解决方案是获取文件描述符并使用"proc/self/fd/FD_NUMER"技巧,例如: ParcelF
..
鉴于公共文件路径通常在带范围存储的Android Q中不可用,我试图找出如何使FFmpeg音频解码器与文件描述符一起工作,而无需将文件复制到应用程序的私有目录中. 我们可以使用 Android Q隐私更改,并且可以使用管道协议(如
..
是否有一个简单的API调用可以告诉我在Android 10或更高版本上运行的应用是否必须使用范围存储访问权限,即是否禁用了“旧版外部存储"(又称为“旧版外部存储")?请注意,即使应用程序位于AndroidManifest.xml中,该节也声明为: android:requestLegacyExternalStorage ="true" 由于将来Google政策的更改,文件访问仍可能会被拒绝
..
在需要访问存储的Android 10应用中,需要征求访问特定路径的权限.但是,诸如文件浏览器之类的应用程序可以请求访问根存储的权限,并获得读取/写入所有存储的权限.那就是我想要做的. 根据Android,我们必须为此使用 ACTION_OPEN_DOCUMENT_TREE .我的问题是,一切似乎都正确,但是未将权限授予该应用. private void askAndroid10Perm(
..
还有其他人发现范围存储几乎不可能开始工作吗?大声笑. 我一直在尝试了解如何允许用户向我的应用授予对应用文件夹以外的文本文件的写权限. (比方说,允许用户在其“文档"文件夹中编辑文件的文本).我已经设置了MANAGE_EXTERNAL_STORAGE权限,并且可以确认该应用程序具有该权限.但是还是每次我尝试 val fileDescriptor = context.contentReso
..
背景 迁移到Android Q后,我再也找不到合适的方法来获取对documents文件夹(/storage/emulated/0/Documents)的写访问权 在任何人提到范围存储的其他问题之前,我已经阅读了其中的很多问题,到目前为止,从我所看到的所有解决方案中,所有解决方案都使用应用程序特定目录或仅访问媒体目录(而非文档文件夹)访问). 根据我对Android Q的了解,我可
..
背景 我的应用程序( 此处 )可以在整个文件系统(不仅是已安装的应用程序)中搜索APK文件,显示有关每个文件的信息,从而可以删除,共享,安装... 作为Android Q范围存储功能的一部分,Google宣布SAF(存储访问框架)将取代常规存储权限.这意味着,即使您尝试使用存储权限,也只会授予访问特定类型的文件的权限,以使文件和文件路径可以使用或完全沙盒化(写为这意味着很多框架将需要依
..
我知道这似乎是一个非常基本的问题,但这是专门针对Android Q的. 我只想从Gallery获取图像并将其压缩并发送到服务器.但是由于Android Q的范围存储,它比我想象的要难.我将首先解释我对代码的处理方式: 首先,我发出选择图像的意图. fun openGallery(fragment: Fragment){ val intent = Intent(Intent
..
在引入范围存储之前,我曾使用Download Manager在我的应用程序中下载pdf并从getExternalStorageDirectory获取pdf,但是由于范围存储,我已不再使用getExternalStorageDirectory,因为它已被弃用.我决定不使用Download Manager,而是下载公共目录中的文件,而改用pdf文件下载. 我知道我可以在Android Manife
..