在Android FileProvider中更改显示名称的正确方法是什么?

时间:2016-02-15 17:44:55

标签: android android-sharing android-fileprovider

假设我在内部文件系统上有文件名 1234567.png - 说我想将其发送给共享intent的用户 CoolPicture.png - 即子类fileprovider并替换查询方法。

使用基于光标的矩阵光标来自超级计划吗?

似乎DISPLAY_NAMESIZE是唯一的列,但似乎无法确认SIZE是否为int或字符串。

我打算在回答之后发布我的代码,我只是想了解最佳实践,也许还有所贡献。 感谢

1 个答案:

答案 0 :(得分:1)

  

使用基于光标的矩阵光标来自超级计划吗?

你可以这样做,而且可能没问题。毕竟,FileProvider本身使用了MatrixCursor

要修改现有的Cursor,我自己在my LegacyCompatCursorWrapper使用CursorWrapper,然后在query()中包裹Cursor我从基地ContentProvider获取FileProvider在我的包装器中实现(例如,CursorWrapper)。

  

似乎DISPLAY_NAME和SIZE是唯一的列,但似乎无法确认SIZE是否为int或字符串。

这是我使用Long的原因之一,以避免弄乱任何现有值。

话虽如此,the existing FileProvider implementation使用file.length()product,自动装箱)。