即使文件类型不匹配,通过Intent共享文件也可以

时间:2013-07-30 14:08:48

标签: android

我使用以下代码来共享图像,如果图像类型是png则没问题。 但我很惊讶,如果图像类型是jpeg,它仍然可以。为什么?谢谢!

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse("file://"+arrPath[i]);

sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));

1 个答案:

答案 0 :(得分:1)

这就是Intent系统的工作方式。

http://developer.android.com/guide/components/intents-filters.html#iobjs

  

Intent对象是一组信息。它包含接收意图的组件感兴趣的信息(例如要采取的操作和要处理的数据)以及Android系统感兴趣的信息(例如应处理意图的组件类别和指示如何启动目标活动。)

实际处理文件的责任留给注册处理这种意图的应用程序。在这个阶段,它不会关心/检查文件是jpg还是png。

你基本上是在说“嘿,分享应用程序!我有一个png给你!”

我不确定你究竟是在追求什么,但如果你不想共享jpgs,你需要在你的代码中处理它。