【问题标题】:How to use toAbsolutePath and Paths.get from java.nio with lower API如何使用较低 API 的 java.nio 中的 toAbsolutePath 和 Paths.get
【发布时间】:2019-12-13 18:44:54
【问题描述】:

我有一个应用程序需要在电子邮件中发送多个图像附件。要发送图像,我需要一个绝对路径。为此,我使用来自java.nio 的函数.toAbsolutePathPaths.get。这两个函数仅适用于API 26 及更高版本。在我看来,它们就像是非常基本的功能,所以我不知道为什么它们不支持较低的 API。有什么方法可以让他们使用较低的APIs

realPath1 = Paths.get("storage/emulated/0/Android/data/com.example.abbmalfunctionreport/cache/$image1").toAbsolutePath()

【问题讨论】:

  • 如果你在传递给Paths.get()的值前面加上/,那就是绝对路径。
  • 不幸的是,Paths.get() 也有最少的 API 26。
  • 不,我的意思是你已经有了绝对路径,所以Paths.get()是不必要的。
  • 是的。 /storage/emulated/0/.../ 是绝对的。
  • 哦,好的。谢谢。

标签: android file kotlin path android-api-levels


【解决方案1】:

File.getAbsolutePath() 从 API-1 开始可用。

您可能也应该使用Environment 类,请参阅How to get absolute path of Internal Storage in Android

【讨论】:

  • File.getAbsolutePath() 对我不起作用。我无法解释为什么,但它在发送电子邮件时卡住了。我认为输出与之前的代码不同。
  • 您传递给Paths.get() 的内容已经是硬编码的绝对值。使用EnvironmentFile.getAbsolutePath() 得到你想要的。我工作:)
猜你喜欢
  • 1970-01-01
  • 2017-05-16
  • 2021-10-22
  • 2016-07-03
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
相关资源
最近更新 更多