我使用以下代码来共享图像,如果图像类型是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"));
答案 0 :(得分:1)
这就是Intent
系统的工作方式。
http://developer.android.com/guide/components/intents-filters.html#iobjs
Intent
对象是一组信息。它包含接收意图的组件感兴趣的信息(例如要采取的操作和要处理的数据)以及Android系统感兴趣的信息(例如应处理意图的组件类别和指示如何启动目标活动。)
实际处理文件的责任留给注册处理这种意图的应用程序。在这个阶段,它不会关心/检查文件是jpg还是png。
你基本上是在说“嘿,分享应用程序!我有一个png给你!”
我不确定你究竟是在追求什么,但如果你不想共享jpgs,你需要在你的代码中处理它。