1

我使用下面的代码来分享一张图片,如果图片类型是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"));
4

1 回答 1

1

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

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

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

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

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

我不确定你到底在追求什么,但如果你不想共享 jpg,你需要在你的代码中处理它。

于 2013-07-30T14:25:01.200 回答