如何添加分享到 Instagram 快拍的选项?

How to add an option to share to Instagram Stories?

背景
在我的 Android 应用程序中,用户可以将生成的图像共享给其他应用程序。使用 ACTION_SEND Intent 效果很好。
许多用户问为什么他们不能直接分享到 Instagram 故事。

最初我认为 Instagram 不支持接收故事的意图(在某种程度上是正确的)。我今天搜索了它,根据 this documentation,要分享到 Instagram 故事,必须使用单独的意图 com.instagram.share.ADD_TO_STORY。我试过了,没问题。

问题:
如何让这两个选项都可用?

想了很久,想出了以下方案:

1) 有两个单独的按钮。 它会起作用,但会 look/feel 不好。

2) 让我的应用程序接受 ACTION_SEND 意图,将其命名为 Share to Instagram Story,并将意图重定向到 com.instagram.share.ADD_TO_STORY 意图。原则上做个代理意向。
它会工作,look/feel 很好,但我不知道它是否允许(合法等),如果用户没有安装 Instagram,我可以禁用意图。

3) 将 'com.instagram.share.ADD_TO_STORY' 添加到 ACTION_SEND 启动的应用程序选择器中。 这将是理想的,但我不知道该怎么做它。

如果您想向 Intent 添加多个操作并创建一个选择器,请查看此示例:

Intent viewIntent = new Intent(Intent.ACTION_VIEW);
Intent editIntent = new Intent(Intent.ACTION_EDIT);
viewIntent.setDataAndType(uri, type);
editIntent.setDataAndType(uri, type);
Intent chooserIntent = Intent.createChooser(editIntent, "Open in...");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { viewIntent });
startActivity(chooserIntent);

更新:这是对您的回答的很好的解决方案。 How to make an intent with multiple actions

我尝试了与 Facebook 官方文档相同的方法,然后在 Huawai P9 LiteHuawai P20 LiteSamsung S8 上进行了测试 - 它只适用于 [=13] =] 出于未知原因(对我而言)。我放弃了它,因为很明显,它不适用于大多数手机。