我正在尝试通过这样的共享 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
>FileUri
。
关于android - 分享图像与 Android Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569944/