如何列出 Android 10 上的所有 pdf 文件?

2024-02-09

由于更改与访问共享存储的授权相关,因此似乎不再可能通过这种方法搜索 pdf 类型的所有文档(使用 requestLegacyExternalStorage =“false”):

ContentResolver cr = context.getContentResolver();
Uri uri = MediaStore.Files.getContentUri("external");
String[] projection = null;
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
                    + MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
String[] selectionArgs = null;
String sortOrder = null;
Cursor allNonMediaFiles = cr.query(uri, projection, selection, selectionArgs, sortOrder);

检查此链接:媒体数据限制 https://developer.android.com/training/data-storage/files/external-scoped#media-data-restrictions

我看到的唯一解决方案是使用 SAF 以递归方式扫描所有共享存储树,在我看来,这在资源上非常昂贵且荒谬。

还有人有其他想法吗?


范围存储的基本思想正是为了避免这种行为,你无法知道用户手机中的某个位置是否存在某些文件。您只需请求访问存储树的权限并按照您所说的扫描所有内容即可。即使在这种情况下,用户也可以选择与根目录不同的文件夹,因此您的应用程序将仅限于该文件夹。这个想法可以是执行扫描,然后使用在树 URI 和后代的修改上安排的作业(作业服务)来更新数据库以保持同步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何列出 Android 10 上的所有 pdf 文件? 的相关文章

  • TypedArray 的 getResourceId 方法

    我正在阅读有关的文档获取资源Id https developer android com reference android content res TypedArray html getResourceId int 20int 方法 它说
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • 如何在 Android 中使用 Assets 中预加载的 SQLite 数据库

    我想用preloaded database在我的应用程序中意味着尝试在安装 apk 时获取数据库 以便可以使用已保存在其中的数据 我复制了 成分 db 文件位于资产文件夹中 并使用以下代码 但这会出现错误 从资源文件复制数据库时出现问题 我
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • 如何从一个代码库创建多个 Android 应用

    我有一个 Android 代码库 它使用带有设置的 API 来获取多个应用程序的不同数据 所有应用程序都使用相同的代码库 但进行一两个设计调整 那么如何重用主代码库而不必每次都复制整个 Android 项目呢 iPhone 在同一个项目中使
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Android:应用内计费V3超时返回哪个响应码?

    出现网络超时情况时 Google Play 应用内结算服务 ice er V3 将返回哪些响应状态代码 它的所有功能都是统一的吗 我将在这里描述我的发现 我通过拔掉主机插头 在安装了全功能 GP GP Store V3 10 10 GP S
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 在 Jetpack Compose 中跨可组合函数重复使用一组预览注释

    在 Jetpack Compose 中迈出第一步 这非常令人惊奇 除了一个恼人的问题 我有一组固定的预览 正常 深色和 RTL Preview name Normal group Screen showBackground true Pre
  • 为什么Android应用程序在发布到市场后尺寸会增加?

    我最近在 Android 市场上发布了我的应用程序 显示应用程序大小为 5 4MB 而实际 apk 大小为 2 8MB 为什么显示多出2MB 我应该如何限制我的应用程序大小 请帮我 您的应用程序大小会增加 因为您使用了复制保护选项ON在发布
  • Android Studio IDE 上的“文本/设计”选项卡缺少新的 Android 项目

    如何在创建新项目期间自动创建的 Activity main xml 文件的 src main res layout 文件夹中启用文本 设计选项卡 如果我右键单击并在所述文件夹上创建 xml 文件 则设计 文本选项卡存在 有什么建议吗 谢谢
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp

随机推荐

  • .pfx 文件是否可以包含多个私钥?

    我试图了解 pfx 文件是否可能包含多个私钥 如果有多组证书及其私钥 如何在 KeyStore 中找到它们 通过使用别名 对吧 所以答案是肯定的 它可以拥有任意数量的私钥和关联的证书 感谢你们
  • 使用 __gnu_mcount_nc 捕获函数退出时间

    我正在尝试在支持不佳的原型嵌入式平台上进行一些性能分析 我注意到 GCC 的 pg 标志导致 thunks gnu mcount nc在每个函数的入口处插入 没有实施 gnu mcount nc是可用的 并且供应商没有兴趣提供帮助 但是由于
  • 为 Project Tango 开发设备设置开发环境时出现问题

    我有一个 Project Tango 开发套件 我对处理传感器的深度数据感兴趣 我的机器上有 ADB 设置 但 Eclipse android 模拟器未检测到 Tango Development 平板电脑 谁能建议我如何为设备进行设置 先感
  • 使我的文件可读为 Perl 或 HTML

    本着 Perl 序言 https stackoverflow com questions 2308874 explain the deviousness of the perl preamble 无论是由 shell 脚本解释器还是 Per
  • 从文本文件导入数据时 SQL 保留关键字导致错误

    我有以下代码 我正在尝试按照本网站上的一位用户的建议使用 php 将文本文件导入到 sql 表中 不幸的是 由于我的文本文件中包含 最大和最小 单词 我的导入中途出现错误 我试图找出我能做些什么来避免它 我发现的大部分内容都是关于在列名称中
  • nginx既是反向代理又是Web服务器

    我目前使用 nginx 和乘客来为我的 Rails 应用程序提供服务 考虑在方程式中加入缓存反向代理 我可以使用同一个 nginx 实例作为反向代理 在端口 80 上运行 提供静态和电子标记操作 还是需要不同的 nginx 实例或完全不同类
  • 如何子类化 vtkActor

    我希望当我选择一个时能够访问我的底层数据结构vtkActor 一个类派生自vtkActor将 ptr 保存到我的数据结构似乎是最简单的方法 我让子类编译得很好 但演员似乎没有添加到渲染器中 所以 这是我的课程 h include
  • DxScene 是“Delphi 的 WPF”吗?有人用过吗?

    我正在使用 DxScene 和 VxScene http www ksdev com dxscene index html http www ksdev com dxscene index html 它看起来非常漂亮和强大 3d 加速矢量图
  • 为什么边距填充在表 td 和 tr 中不起作用?

    table border 0 style padding 10px width 100 tbody tr td style padding 0 img src 8 jpg alt td td style padding 0 img src
  • 增加字符串值

    Java问题在这里 如果我有一个字符串 a 如何向该字符串 添加 值 以便得到 b 等等 就像 a String str abcde System out println getIncrementedString str Output bc
  • 为什么在此正则表达式中 \\ 不被解释为反斜杠?

    我正在学习使用 Java 的模式和匹配器 这是我书中的示例代码片段 正如作者所描述的那样 但我不明白为什么 最终是一个点 而不是反斜杠 部分 和点 部分 编译器不是从左到右读取的吗 import java util regex public
  • 给定 K 个排序列表,每个列表中最多包含 N 个元素,返回所有项目的排序迭代器

    Example List 1 1 4 5 8 9 List 2 3 4 4 6 List 3 0 2 8 Would yield the following result Iterator gt 0 1 2 3 4 4 4 5 6 8 8
  • AltGr 键不起作用,我必须使用 Ctrl+AltGr [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I encountered this problem several times I want to use a character ac
  • 在 C++11 中实现复制和交换习惯用法的更好方法

    我看到很多代码在复制和交换方面实现了五规则 但我认为我们可以使用移动函数来替换交换函数 如下代码所示 include
  • 具有共享依赖项的嵌套ExternalProject_Add

    我正在尝试申请ExternalProject Add自动安装中型 C 项目的依赖项 事情进展顺利 直到我不得不安装一个使用的库ExternalProject Add安装它的依赖项之一 我自己的项目也恰好使用了它 如果我可以避免重建这个库 而
  • bash 多个命令行参数相互依赖

    我有一个脚本 其中接受以下参数 脚本 dph peh 第一个参数告诉脚本我是否需要使用生产脚本或开发脚本来执行它 第二个参数告诉脚本生成的报告的输出是否应作为电子邮件发送或应重定向到 html 页面 当我使用 getopts 时 我得到一个
  • 使用php将上传的excel文件转换为csv

    我正在尝试使用 php 创建一个网页 该网页使用浏览按钮上传 excel 文件并将其导入到 mysql 数据库中 我可以上传 csv 文件并将其导入数据库 html代码
  • 具有 MVC 4 或 5 的 MEF - 可插拔架构 (2014)

    我正在尝试使用 Orchard CMS 等可插入架构构建 MVC4 MVC5 应用程序 所以我有一个 MVC 应用程序 它将作为启动项目并负责身份验证 导航等 然后将有多个模块单独构建为 asp net 类库或剥离的 mvc 项目并具有控制
  • 字符串中包含的方法的调用名称

    如何根据 Groovy 中字符串的值调用方法 例如代替 switch val case one Obj one break case two Obj two break 我想做类似的事情obj val where val包含 one or
  • 如何列出 Android 10 上的所有 pdf 文件?

    由于更改与访问共享存储的授权相关 因此似乎不再可能通过这种方法搜索 pdf 类型的所有文档 使用 requestLegacyExternalStorage false ContentResolver cr context getConten