gpt4 book ai didi

android - 不支持 Intent 图像共享文件格式

转载 作者:搜寻专家 更新时间:2023-11-01 09:32:45 26 4
gpt4 key购买 nike

我无法在社交媒体上分享图片当我点击分享按钮时。它显示了 Toast

File format not supported

public void onBindViewHolder(final ViewHolder holder, int position) {
upload = uploads.get(position);

holder.textViewName.setText(upload.getName());
final String imageUrl=upload.getUrl();


Glide.with(context).load(imageUrl).into(holder.imageView);

final Uri imageUri=Uri.parse("https://firebasestorage.googleapis.com/v0/b/memories-project.appspot.com/o/uploads%2FnCfBZThQykf3Ur9oNzHyEHS1DEp2%2F45007?alt=media&token=9ae17594-13ff-40f6-98f9-aff80ab2fdf4");
holder.shareImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context,imageUrl,Toast.LENGTH_SHORT).show();
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/*");

shareIntent.putExtra(Intent.EXTRA_STREAM,imageUri);

shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
try {
context.startActivity(Intent.createChooser(shareIntent, "Share image File"));
} catch (android.content.ActivityNotFoundException ex) {

}
}
});
}

我将图像存储到 firebase。现在我从 firebase 获取链接并解析为 URI,但我不知道为什么会这样显示。

I hardcoded the URL just for testing purposes.

对于 WhatsApp:

File Format not supported

对于 Instagram:

Image Unable to load

对于 Facebook :

Showed nothing means no Toast or anything(Just Showed the status bar)

对于 Messenger:

Not opened

最佳答案

引用 the documentation , EXTRA_STREAM 应该指向“一个 content: URI,其中包含与 Intent 相关联的数据流,与 ACTION_SEND< 一起使用 以提供正在发送的数据。”

您提供的是 https Uri,其他应用不会期望它。无论如何,并非所有支持 ACTION_SEND 的应用都具有 INTERNET 权限。

如果您想分享一些内容,通常它需要在设备本地并通过 FileProvider 或其他形式的 ContentProvider 分享。在 Android 7.0 之前,file 方案指向 external storage 上的文件通常也有效。

关于android - 不支持 Intent 图像共享文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45744296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com