android - 不支持文件格式 - 在 WhatsApp 上发送照片时

标签 android android-intent share whatsapp viber

        //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/

相关文章:

java - Android SQL之类

java - 将其他应用程序的图像共享到我的应用程序

xamarin.ios - Xamarin.Forms 警告 : Attempt to present * on * whose view is not in the window hierarchy with iOS image/gesture recogniser

facebook - 从我的移动网站使用 Facebook Messenger 发送 URL

java - Twitter4j:获取特定推文的回复列表

java - 如何将 Retrofit 响应映射到数据模型类?

android - 在 Testfairy 中上传 apk 时未集成 Testfairy SDK

Android Contact Picker Intent 总是返回空的额外内容

java - 使用 IntentService 进行优先网络

javascript - 如何使用 WhatsApp 分享按钮分享图片?