首页 > 解决方案 > 如何添加选项以分享到 Instagram 快拍?

问题描述

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

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

问题:
如何保持两个选项都可用?

我想了很多,想出了以下选项:

1)有两个独立的按钮。它会起作用,但它看起来/感觉不好。

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

3) 将 'com.instagram.share.ADD_TO_STORY' 添加到由ACTION_SEND. 这将是理想的,但我不知道该怎么做。

标签: androidandroid-intentinstagram

解决方案


如果您想添加多个操作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);

更新:这是您回答的好方法。如何通过多个操作来制定意图


推荐阅读