android - 分享图像与 Android Intent

标签 android email android-intent share drawable


我正在尝试通过这样的共享 Intent 来共享图像:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);

    sharingIntent.setType("image/png");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, application.getString(R.string.app_name));
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,application.getString(R.string.app_share_message));

    File image = new File(Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share).toString());
        sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(image));
        shareMe(sharingIntent);

共享 Intent 正确触发,我选择 Gmail,一切都按预期运行,直到我按下发送。我收到“无法显示附件”的通知,但没有显示附件就发送了电子邮件... 为什么?

感谢您的宝贵时间。

最佳答案

首先,无法保证任何给定的其他应用程序都能够支持 android:resource// Uri。在外部存储上共享文件或使用 ContentProvider 时,您将具有更好的兼容性。

话虽这么说,替换:

File image = new File(Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share).toString());
    sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(image));

与:

    sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share);

一个 android:resource:// 不是一个 File,可能你通过转换成一个 搞乱了你的 Uri >File 然后返回到 Uri

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

相关文章:

ios - 响应式表格在除默认 iOS 7 邮件应用程序之外的所有内容中都能完美呈现

java - 如何处理同一 Activity 的多个 Intent ?

android - 奇怪 - Android IntentService 杀死了我应用程序的其余部分,但继续自行运行

android - Cordova 2.7.0 PushPlugin "cordova cannot be resolved"和 "ctx cannot be resolved"

android - 隐藏运行 Activity (隐身模式)

java - 如何配置 spring-boot 通过 sendGrid 发送邮件?

PHP 邮件功能有时会起作用

Android:搜索 Intent 不起作用

android - 当我从 qr_code_scanner 包打开 QRView 小部件时出现平台异常

android - 在 android 中完成 Realm 迁移时,以前的 Realm 数据会丢失