0

作为学习练习,我正在编写一个具有 android.intent.action.SEND 意图的应用程序。我希望能够让它发送任何我能想到的文件名,但我看到的定义此类应用程序的所有示例都特​​定于媒体商店中的图像、铃声管理器中的铃声等。我不想要枚举我通过谷歌搜索找到的所有可能的算法,用于将 Uri 转换为文件。我想要一个通用的解决方案。我见过一个听起来很有希望的 OPENABLE 类别,但我仍然没有看到用于发现底层文件名的通用解决方案。有吗?

我只是想让这个东西上传它交给一个php脚本的任何内容,该脚本实现了一个POST方法来进行文件上传。我看不出有任何理由将其限制为图像或视频或类似的东西,但对于我的生活,我无法弄清楚如何让它适用于其他应用程序想要共享的任何随机文件。

4

1 回答 1

0

我正在寻找要使用的文件名

不能保证有一个文件名可以使用。特别是如果方案是content://,很可能没有文件名,因为在某些情况下没有文件(例如,数据是数据库中的 BLOB)。

袖手旁观,我会使用这样的算法:如果方案是content://并且返回一个整数,getLastPathSegment()Uri生成一个文件名;否则,使用getLastPathSegment(). 这应该很好地涵盖content://file://http://方案,而且我想不出您在处理ACTION_SEND活动中可能遇到的任何其他方案。

于 2012-10-07T10:39:11.053 回答