android - 与图像预览数据共享表共享 URL
问题描述
为了尝试使用原生 Android 共享表从我们的应用程序共享数据,我们一直在关注此文档:
https://developer.android.com/training/sharing/send
这给了我们以下示例:
从那以后,我们一直在定义我们自己的共享版本,在原生 Android 上看起来像这样:
然而,到目前为止,我们似乎还没有成功让 Android 正确显示共享表。我们尝试了以下代码,我附上了每个代码块的截图,以便您可以比较需求:
sendIntent.setAction(Intent.ACTION_SEND);
if (event != null && event.getTitle() != null && collection.getTitle() != null) {
sendIntent.putExtra(Intent.EXTRA_TITLE, event.getTitle() + " - " + collection.getTitle());
}
sendIntent.putExtra(Intent.EXTRA_TEXT, collection.getShareUrl());
File thumbFile = DCPhotoUtils.captureView(rootView, R.id.shareThumbnailLayout);
Uri uriToImage = DCPhotoUtils.getUri(getContext(), thumbFile);
sendIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);
sendIntent.setDataAndType(uriToImage, "image/*");
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sendIntent, null));
结果只是显示了一个想象:
然后我们尝试了以下方法:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("image/*");
if (event != null && event.getTitle() != null && collection.getTitle() != null) {
sendIntent.putExtra(Intent.EXTRA_TITLE, event.getTitle() + " - " + collection.getTitle());
}
sendIntent.putExtra(Intent.EXTRA_TEXT, collection.getShareUrl());
File thumbFile = DCPhotoUtils.captureView(rootView, R.id.shareThumbnailLayout);
Uri uriToImage = DCPhotoUtils.getUri(getContext(), thumbFile);
sendIntent.setData(uriToImage);
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sendIntent, null));
然后导致......什么都没有显示哈哈:
最后我们尝试了第三种也是最后一种方法:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.setType("image/*");
if (event != null && event.getTitle() != null && collection.getTitle() != null) {
sendIntent.putExtra(Intent.EXTRA_TITLE, event.getTitle() + " - " + collection.getTitle());
}
sendIntent.putExtra(Intent.EXTRA_TEXT, collection.getShareUrl());
startActivity(Intent.createChooser(sendIntent, null));
这至少为我们提供了链接,但没有链接预览缩略图:
所以我们想知道我们做错了什么,我们无法获得谷歌文档中显示的“完整”预期结果?
解决方案
我在这个问题上做了很多工作。最后,我做到了。你应该尝试你的第三个解决方案并添加这个命令shareIntent.setClipData(ClipData.newRawUri("", yourImageUri));
它非常适合我
推荐阅读
- java - 获取从 BDD 文件调用的当前步骤的描述
- angular - 表格未在 Angular5/6 中更新
- nagios - nagios enable_notifications 不工作
- geolocation - 如何从谷歌地球城市数据库中提取经度
- javascript - React props intellisense 与 ASP .NET Core
- html - 确保 CSS 不会影响具有父类的所有页面
- sql - Postgres 表名是否保证在模式中是唯一的?在数据库中?
- c# - 创建后被覆盖的对象数据
- javascript - 轮播中的下一个和上一个按钮
- cocoa - 不一致的视图层次结构