android - 如何添加选项以分享到 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
. 这将是理想的,但我不知道该怎么做。
解决方案
如果您想添加多个操作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);
更新:这是您回答的好方法。如何通过多个操作来制定意图
推荐阅读
- protocol-buffers - 从 bazel 中的 http_archive 获取 proto 源
- mysql - 在 MySQL 中对不同值执行 GROUP BY 时如何根据 MAX 值选择列
- python-3.x - 如何从numpy数组中删除元素对?
- proxy - 使用 Puppeteer 每页使用不同的代理
- python - Python 中的节标题注释
- android - 当所有者也给了您公钥和私钥时,如何从 API 密钥中获取 JSON 数据?
- html - 无缘无故的奇怪线条样式(HTML,CSS)
- amazon-web-services - AWS Aurora - 如何通过 CLI 启用无服务器模式
- python - 制作最后一段 - 活动指针
- java - 为什么我找不到 404 页面而不是 200