Android:无法使用 Intent 在 Instagram 上分享照片

Posted

技术标签:

【中文标题】Android:无法使用 Intent 在 Instagram 上分享照片【英文标题】:Android : Not able to share photos on Instagram using Intent 【发布时间】:2020-03-24 07:40:27 【问题描述】:

我无法使用 android 中的 Intent 在 Instagram 源上分享任何照片。它打开 Instagram 并显示“无法加载照片”错误并返回到我的应用程序。

 Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("image/*");
    share.putExtra(Intent.EXTRA_STREAM, uri);
    share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(Intent.createChooser(share, "Share to"));

同样的代码适用于 Instagram 版本 131.0.0.23.116,但不适用于当前更新的版本 134.0.0.26.121

【问题讨论】:

我遇到了同样的问题。我认为这与 Android 10 更新有关。例如,我有两个设备,第一个是 android 10,所以我不能将照片分享到 instagram 提要中,但我可以分享到故事中。第二个是android 9,运行良好没问题。 @jancooth 问题仅出在 Instagram 版本上,因为我已经检查了 Android 9 (Mi A1) 和 Android 10 的问题。问题仅在照片的情况下,但在 Insta 源上的视频共享工作正常. 【参考方案1】:

我遇到了同样的问题。它不能与 Instagram Feed 共享,但在与 Instagram Story 和 Direct 共享时仍然有效。 -> 这可能是 Instagram 新更新版本的问题,而不是 Android 操作系统。 我尝试从 android version >= 24(N) 并得到同样的错误

但是当从 Google 照片应用分享到 Instagram 动态时,仍然可以正常工作

【讨论】:

嗨,我从一周前开始处理这个错误,还没有找到解决方案:/ 我可以用 Android >= 8 重现,低版本工作正常。我不是 Android 开发人员,我无法调试 IG 端的错误,就像 IG 不喜欢分享给 FEED 的任何图片,而是 Stories。所以这不应该是权限、媒体 URI、图像格式等的问题。因为故事工作正常:/ 是的,我已经检查了与 Google 照片相同的问题,它工作正常。我无法分享照片,但从我的应用到 Insta 源的视频分享工作正常。 我们要等facebook开发组developers.facebook.com/support/bugs/1326888287510350 Google 相册使用 MediaStore 内容 Uri,而不是 ContentProviderFileProvider。这是一个要点,展示了如何将图像或视频写入 MedisStore,然后共享该内容 Uri,在 IG 开发团队解决此问题之前,这将在共享到 IG 提要时起作用:gist.github.com/noln/584afabed1362fabbc2516275a5f755b【参考方案2】:

最近的更新似乎破坏了 Instagram 应用通过 ContentProvider(或 FileProvider,CP 的后代)接收应用内部文件的能力。一种解决方法是先将文件写入MediaStore,然后共享指向该图像文件的内容Uri。

缺点是图像会被写入MediaStore 中的Pictures 文件夹,但同时它会被共享以再次工作。

答案在这里,链接避免重复:https://***.com/a/60869229/513626

【讨论】:

以上是关于Android:无法使用 Intent 在 Instagram 上分享照片的主要内容,如果未能解决你的问题,请参考以下文章

Android:无法通过 Intent 分享图片

Android - 无法解析方法'onActivityResult(int,int,android.content.Intent)

Instagram 应用程序无法使用 Android Intent 打开

getActivity() 调用导致 RuntimeException:无法启动意图 Intent act=android.intent.action.MAIN

无法解决 Intent 服务 Android

如何使用 Android 在 postDelayed 中使用 Intent?