android - 与其他应用分享图像

标签 android image share

这是我的问题...我想分享一张 png 图像。我有可绘制和 Assets 中的图像。当我使用 sharingIntent 时,它可以工作,但不是我想要的方式。共享的文件显示为带有数字且没有扩展名,并且某些应用程序会发送消息“未知文件”。我能做些什么??

这是我的代码:

    Uri uri = Uri.parse("android.resource://com.example.shareimages/" + R.drawable.caja);
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);

    shareIntent.setType("image/png");

    shareIntent.putExtra(Intent.EXTRA_STREAM,  uri);

    startActivity(Intent.createChooser(shareIntent, "send"));

我尝试使用 Assets 中的文件而不是可绘制文件(带有此“file:///android_asset/...),但它没有用

最佳答案

尝试这样的事情:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("image/*");

// For a file in shared storage.  For data in private storage, use a ContentProvider.
Uri uri = Uri.fromFile(getFileStreamPath(pathToImage));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(shareIntent)

如果您想通过 Assets 文件夹共享它,则必须使用 ContentProvider。请参阅此答案以了解如何执行此操作:

https://stackoverflow.com/a/7177103/1369222

关于android - 与其他应用分享图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13945919/

相关文章:

如果网页上没有提供图像,Twitter 会显示占位符图像

java - 为什么在 Android 10 操作系统中共享内容时不显示标记为 Intent LinkedIn 的共享托盘图标

java - 检测手机是否插入电脑

android - Android 数据库的最佳实践

Android:画廊 View 中的动画?

android - 检测用于共享某些内容的共享器

android - 可以使用 VpnService 实现来捕获和发送数据包吗?

android - Renderscript 用法

php - 直接从 URL 将图像复制到我的服务器并将其上传到 Wordpress 上传文件夹?

javascript - 检查图像是否存在且没有错误消息