【发布时间】:2021-05-25 01:38:06
【问题描述】:
我有一个显示图像、描述和其他附加信息的 Android 应用程序屏幕。我想通过社交媒体(如 Facebook、Twitter 等)分享这个。基本上我想发送图像、小文本和 URL。我添加了一个分享按钮并使用了这段代码:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
Uri uriToImage = Uri.parse("http://remote.path.to.image.jpg");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Learn more about this");
shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
shareIntent.setType("*/*");
startActivity(Intent.createChooser(shareIntent, "Share"));
但是这不起作用。我已经用 Facebook 对其进行了测试,当它显示工作表并让我选择 Facebook 时,我看到的是一条空消息;没有附上文字和图片。如果我尝试使用 GMail,它只会附加文本并提到无法附加图像。
另外,我怎样才能包含我想分享的 URL?
我正在使用 Java。
【问题讨论】:
-
实现滑翔库
implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' -
@Mohanasundar 我尝试了您发送的示例,但是 String path = MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), resource, "", null);导致错误: Permission Denial: writing com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=25464, uid=10078 requires android.permission.WRITE_EXTERNAL_STORAGE, or grantUriPermission()跨度>
-
问题是您没有 WRITE_EXTERNAL_STORAGE 的权限,请参阅我的回答以获得运行时存储权限
标签: android android-sharesheet