从 Uri Android Lollipop 获取路径名称

2023-12-07

棒棒糖版本。

我用过这个code从 Uri 确定文件路径。工作正常,但如果我从下载的应用程序中选择文件 -从 URI 获取真实路径 API 19功能对我不起作用。例如,本例的整个 Id 等于 /document/4,并且我的应用程序崩溃了。

好的,我对此函数做了一些更改,Uri“/document/4”的“id”现在等于 4,但函数返回 null。

是否可以从任何应用程序获取所选图像的文件路径? 我需要 ExifInterface 的文件路径。


工作正常

仅适用于您尝试过的少数设备,适用于单一文件源(MediaStore)你尝试过的。

是否可以从任何应用程序获取所选图像的文件路径?

No. A Uri不是一个File。没有任何要求Uri可转换为文件路径,如Uri可能不代表一个文件,更不用说你的应用程序有权访问的文件了。对你来说,一个Uri是另一个应用程序拥有的内容的不透明地址,就像 URL 是 Web 服务器拥有的内容的不透明地址一样。而且,正如您无法神奇地将 URL 转换为可以使用的文件路径一样,您也无法神奇地将Uri到您可以使用的文件路径。

我需要 ExifInterface 的文件路径。

实际上,您需要读取或可能写入与某个相关的 EXIF 标头Uri您认为指向包含这些标题的图像。尽管ExifInterface让您可以做到这一点,它是专为应用程序使用自己的图像而不是来自第三方应用程序的图像而设计的。

您的选择是:

  • Use ContentResolver and openInputStream() on the Uri,并制作图像的本地副本,之后您可以使用ExifInterface

  • 使用其他一些可提供更大灵活性的 EXIF 代码。例如,AOSP Mms 应用程序中的 EXIF 类可以读取 EXIF 标头InputStream

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

从 Uri Android Lollipop 获取路径名称 的相关文章

  • 在解决依赖关系之前运行 gradle 任务

    我想运行一个 gradle 任务 在 gradle 尝试解决依赖关系之前获取其他源并设置它们 在 build gradle 中有一个任务 用于获取子项目的源代码 该任务需要在 Gradle 尝试解决依赖关系之前运行 因为子项目是依赖关系的一
  • Android-ListView-performItemClick

    当我尝试使用时遇到一些困难执行项目单击ListView 的功能 我想要做的就是以编程方式在列表的第一项中执行单击 我怎样才能做到这一点 我在文档中查找了该函数 但我并不真正理解它的参数 我尝试过类似的事情 myListView perfor
  • ImageView Android 内存

    我原来的后续question https stackoverflow com questions 5339883 android app ram usage 有没有一种方法可以在 Android 应用程序中使用 ImageViews 而不使
  • 在Android中打开浮动菜单(上下文菜单)?

    我创建了一个新菜单 名为 drmenu xml 当我按下菜单按钮时它可以正常工作 但是当用户按下按钮时我需要打开上下文菜单 下面的代码按钮只显示一个吐司 这是我的 xml 布局
  • Android 测试 java.lang.NoClassDefFoundError 由于 Fest-Android 出现错误

    我目前正在我的项目中实现 Android 版 Fest 但我似乎遇到了依赖问题 如果我在不包含 Fest 库的情况下运行测试 测试将正常运行 一旦我添加了 Fest 库 测试就不再运行 相反 会抛出异常 我的项目使用以下依赖项 compil
  • Android/java:从 ProGuard 过渡/迁移到 R8?

    我想知道如何从ProGuard to R8 我是否应该从 Gradle 文件中删除与 Proguard 相关的行并添加android enableR8 true线代替 Thanks Proguard 由 GuardSquare 开发和维护
  • Android:NotificationCompat.MediaStyle 操作按钮不执行任何操作

    我有一个简单的 Android 应用程序 其中包含一个Activity and a Service源自于MediaBrowserServiceCompat 我已成功将其设置为通过使用播放我的主要活动中的音频MediaBrowserCompa
  • 通过 Intent 从文件管理器中选择文件

    我想做的 我想获取文件字符串形式的路径 我通过 Android 文件管理器选择该路径 我拥有的 Intent intent new Intent Intent ACTION GET CONTENT intent setType startA
  • Firebase 云消息传递 - 如何验证令牌?

    我正在使用 Firebase Cloud Messaging FCM 并且每次在客户设备上生成新令牌时 都会根据下面的缩写代码 我将此新令牌发送到我的服务器数据库 云 并将其保存在其中 以便能够发送未来推送通知使用 CFM API 从服务器
  • 按钮上方带有文本的单选按钮

    我是 Android 新手 我需要在我的活动中添加单选按钮 但我需要将文本放在项目符号按钮的顶部 请提供任何帮助 我发现了以下内容 尽管我不明白 drawable in 选择器和 style Tab 样式是什么 顶部带有文本的单选按钮 ht
  • 在应用程序之间共享自定义帐户验证器

    我有一个为使用自定义 AccountAuthenticator 的客户端构建的应用程序 它工作得非常好 并且满足了客户的需求 但是 这只是将使用相同身份验证管理器的应用程序集合中的第一个应用程序 这就是我不确定如何继续的地方 我无法知道任何
  • 无法在 Android Studio 中运行项目

    当我尝试在 Android Studio 中运行我的项目时 我收到以下错误消息 Execution failed for task CricHQ dexDebug gt com android ide common internal Log
  • 调用属于Fragment的Activity的函数

    我正在与多个Fragments在 Android 下 我对如何从嵌入式应用程序发送和接收数据感到困惑 为了简单的解释 我有一个ListFragment and a MapFragment使用解释的方法here https stackover
  • 既然 X- 已被弃用,是否有适当的 URN 命名空间?

    就在 2002 年 IETF 还建议RFC 3406 https www ietf org rfc rfc3406 txt我们应该使用x 我们不想注册的 URN 命名空间的前缀 例如urn x acme foobar 现在 IETF 已经弃
  • 当应用程序从最近的应用程序中滑动时,前台服务会被终止,通知也会被删除

    我有一个foreground service有通知 当应用程序从最近的应用程序托盘中滑出时 服务将被终止 通知也会被删除 这是我的服务的代码VoiceService class Override public IBinder onBind
  • Android 布局仅使一个视图将自己绘制为横向,但其他所有视图都使用纵向

    我的活动布局中的主要视图元素是 VideoView 我的视频被渲染为设备的横向分辨率 但视频中的所有内容都是横向的 因此仍然需要在设备处于纵向位置时观看 即使我必须将活动设置为android screenOrientation landsc
  • 如何在 Android 的应用程序中使用 LDAP 身份验证?

    我想在我们的应用程序中添加 LDAP 身份验证 我在 Github 上搜索并找到了两个应用程序 但它们无法连接到服务器 通过ldap连接服务器的必要条件是什么 查看 UnboundID SDK 他们有一个适用于 Android 的套件 该应
  • 活动构建变体没有测试工件

    我基于 调试 构建变体创建了一个名为 bitrise 的新构建类型 使用 debug 构建变体时 经过检测的 androidTests 构建并运行良好 但是当我切换到新的 bitrise 构建变体时 出现以下错误 Process finis
  • Android:在surfaceview上实现admob

    我有一个使用 SurfaceView 的小游戏形式的活动 下面是代码片段 我很困惑如何在 SurfaceView 上实现 admob 请建议 public class DroidzActivity extends Activity priv
  • Android 使用不同的签名密钥更新市场应用程序

    开发人员使用他的个人密钥库签署了应用程序 但它应该是公司的密钥库 现在是否可以使用公司的密钥库更新市场中的应用程序 并且仍然可以简化对用户的更新 这有什么后果吗 不可以 您必须将该应用程序作为新应用程序发布到市场上 这次是用公司的key签名

随机推荐

  • 如何将固定高度标题与灵活的页面布局结合起来

    问题 如何将固定高度与灵活的页面布局结合起来 bodyDiv 高度需要为 window innerWidth 的 100 less px a 和 b 高度需要为 body div height 的 50 less px div style
  • 如何理解 Python 循环的“else”子句?

    许多 Python 程序员可能不知道以下语法while循环和for循环包括一个可选的else clause for val in iterable do something val else clean up 的身体else子句是执行某些类
  • 如何定义一个特征方法来获取可以是其实现者设置的类型的值?

    我有一个关于特定特征的定义的问题 基本上我想定义一个特征 它提供一个函数来获取可以识别它的结构的 id 或键 但是 我陷入困境 不知道如何定义该特征 或具体实现 例如我有这个结构Data here derive Debug struct D
  • 在解密程序中使用负数取模时出现问题

    我对 C 相当陌生 最近一直致力于制作一个简单的加密 解密程序 我设法很好地进行了加密 但在解密方面遇到了障碍 相关代码如下 加密 其中 asciinum 是字母的 ascii 值 k 是要移动的 vigenere 密钥 shifts lo
  • 计算对象数组中的重复项

    我的服务器端 JS 中有一个对象数组 如下所示 Company IBM Person ACORD LOMA Company IBM Company MSFT Place New York 我需要迭代这个结构 检测任何重复项 然后创建沿着每个
  • 单独编译模式下 cuda 代码的 mex 链接

    我正在尝试在 Linux 下的 MATLAB mex 中使用 CUDA 代码 使用 整个程序编译 模式 它对我来说效果很好 我在 Nsight 中执行以下两个步骤 1 将 fPIC 作为编译器选项添加到每个 cpp或 cu文件中 然后分别编
  • C# 类型名称而不是 CLR 类型名称

    typeof int Name 将返回 System Int32 有谁知道返回 int 的方法 C 关键字 int double string 的类型并不多 因此您也许可以编写自己的映射函数 从系统类型名称到相应的 C 关键字
  • Intellij 错误:内部缓存已损坏或格式过时

    当我在 Intellij 中构建 Java 项目时 我间歇性地收到错误 内部缓存已损坏或格式过时 强制项目重建 java io FileNotFoundException C target classes ehcache xml 访问被拒绝
  • 正则表达式误解或只是破坏了实现?

    我尝试了一个非常简单的用法regex search并且不明白为什么我没有得到匹配 唉 gcc C 0x implementations 4 5 似乎不起作用 我收到链接错误here 但这是我的 gcc 4 7 0 尝试 非常简单 inclu
  • 使用 GROUP BY 获取最后的条目

    我在 GROUP BY 方面遇到问题 它返回它可以找到的第一个条目 但我希望它返回最后一个条目 那可能吗 这是我的查询 准备好的查询 SELECT stamp user stamp date stamp type FROM rws stam
  • 如何使用字典替换 Pandas 系列中的多个子字符串?

    我有 Pandas 系列的琴弦 我想对多个子字符串进行多次替换per row see testdf pd Series Mary went to school today John went to hospital today to sub
  • 如何正确插入允许 LD_PRELOAD 链接的 malloc

    我创建了一个共享库 它插入 malloc 和相关调用 效果很好 但有一些注意事项 有一点是行不通的 我期望能够链接插入器 以便我可以运行类似的东西 LD PRELOAD path to mymalloc so usr lib64 jemal
  • Android Studio 0.4 & 黄油刀

    我无法获取 Android Studio 0 4 gradle 项目 和 Jake Wharton 的牛油刀一起玩得好 对视图 应该注入的 ViewPager 的引用始终为空 我尝试启用注释处理 设置 gt 编译器 gt 注释处理器 gt
  • TypeScript 永远不会在条件类型中输入不一致的匹配?

    在下面的代码中 您会注意到类型Result1 is never 但类型test3 is 我无法理解这一点 考虑到他们都在阅读 为什么结果不一样never输入来自MyEvents type EventArgs
  • 将 csv 导入到 JTable

    我有一个 csv 文件 我想将其导入到 JTable 中 有没有一个简单的例子展示如何将csv文件导入到JTable 使用 OpenCSV CSVReader reader new CSVReader new FileReader your
  • 一张图像中的多个 OHLC 数据集

    如何使用 JFreeChart 在一张图像中绘制多个数据集的图表 本质上 我想在一张图像中绘制股票的价格及其移动平均线 我尝试获取 XYPlot 并添加第二个数据集 但它不起作用 DefaultOHLCDataset dataset new
  • 使用分页进行 JavaFX TableView 过滤(一起)

    我做了一些研究表格视图 s Filtering and Pagination分别地 过滤 this帖子根据我的需要帮助了我 分页 this this帖子也帮助了我 I want to combine them together like s
  • `>*` 选择器无法从父组件到子组件工作

    我有以下角度组件 div div
  • 复制命名空间的所有元素,不复制任何其他元素

    我们有一堆 html 页面文件 但其中包含额外的 xml 元素 全部以我们公司名称 TLA 为前缀 为我现在正在重写的旧程序提供数据和结构 表格示例
  • 从 Uri Android Lollipop 获取路径名称

    棒棒糖版本 我用过这个code从 Uri 确定文件路径 工作正常 但如果我从下载的应用程序中选择文件 从 URI 获取真实路径 API 19功能对我不起作用 例如 本例的整个 Id 等于 document 4 并且我的应用程序崩溃了 好的