Content://和File://在分享图片和视频时在android中

时间:2017-10-27 16:54:53

标签: java android media

这些都被不同的应用程序使用。 Facebook与File Uris和Whatsapp共享内容Uris。如果我的应用可以分享视频和图片,我应该使用哪一个?

此外,如果我的应用应接受视频和图片,我应该准备哪种类型?如果对于两者,我应该将内容URI转换为文件Uri还是反过来?

1 个答案:

答案 0 :(得分:0)

  

如果我的应用可以分享视频和图片,我应该使用哪一个?

在Android 7.0及更高版本中,您别无选择,只能使用content Uri进行分享,例如来自FileProvider

在Android 6.0及更早版本中,如果内容位于内部存储上,则还必须使用FileProvider,因为第三方应用无权访问您的内部存储空间。如果内容位于外部存储设备上,您可以使用filecontent。设备越旧,预安装的应用就越有可能只支持file

  

如果我的应用应该接受视频和图片,我应该准备哪种类型?

理想情况下,两者兼而有之。如果通过“接受”表示通过ACTION_SEND,则您别无选择,只能支持两者。对于ACTION_VIEWIntent这样的操作,Intent的数据方面用于Uri,请使用<data>元素来宣传哪个方案( s)你支持。

  

我应该将内容URI转换为文件Uri还是反过来?

都不是。您使用其原始来源的内容。对于ContentProvidergetType()等内容,openInputStream()支持这两种方案。