我正在尝试通过这样的共享意图来共享图像:
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);
共享意图正确触发,我选择 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));
with:
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share);
An android:resource://
不是一个File
,并且可能你正在搞乱你的Uri
通过转换为File
然后回到aUri
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)