//Share image to all
share = (Button)findViewById(R.id.facebook_app_id);
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri imageUri = Uri.parse("android.resource://" + getPackageName() +"/drawable/"+imageRes);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent , "Share"));
}
});
我正在尝试构建一个照片共享应用程序。 Facebook、Messenger、Skype 完美运行,但 Whatsapp 和 Viber 显示错误(不支持文件格式
)
最佳答案
尝试将共享 Intent 中的内容类型设置为 image/png。 正如您在上面所说,这可能适用于所有应用程序,也可能不适用于所有应用程序。
原因是您不能直接从您的应用程序内部存储中共享一个 uri(当然您的应用程序的资源将始终在内部存储中)
有两种方法可以实现这一点..
将您的图像复制到外部存储,然后从那里分享。看这个
写一个Content Provider来分享图片。为此,请参阅从内部存储创建和共享文件
关于android - 不支持文件格式 - 在 WhatsApp 上发送照片时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657058/