gpt4 book ai didi

android - 明智地为 ACTION_SEND 文本设置默认应用程序(通过选择器、首选项等)

转载 作者:行者123 更新时间:2023-11-29 00:40:29 25 4
gpt4 key购买 nike

我的应用程序将(可选)在执行操作时发送社交媒体更新。

我想通过使用用户安装的社交媒体应用来实现这一点。我不想限制用户使用任何特定的应用程序集,因此任何可以响应 ACTION_SEND Intent 且类型为 text/plain 的东西都可以。

但是,我不希望用户每次都必须选择 - 通常,他们每次都会使用相同的应用程序,即一旦他们选择了 TweetCaster/Facebook/其他任何东西,他们就会坚持下去与它。

如果我只是使用 ACTION_SENDtext/plainstartActivity(),我会得到一个“Complete action using”选择器,并且有还有一个“默认情况下用于此操作”复选框。

但是,这将为所有应用程序设置该 Intent 的默认值,并且似乎 (a) 可能有人可能已经默认使用非社交媒体应用程序来发送文本,并且 (b) 即使他们没有,默认像在某处发送一些文本这样的通用 Intent 似乎有点“粗鲁”。

人们通常在这里做什么?我制作了一个允许选择特定应用程序的 ListPreference 中途(这样我就可以在 my 应用程序而不是系统范围内首选的应用程序上触发 Intent ),但它看起来很多如此简单的代码。

我是否漏掉了更明显的东西?有没有一种方法可以启动选择器,使“默认情况下用于此操作”仅用作我的应用程序 ACTION_SENDing text/plain 的默认操作?

最佳答案

Is there a way of firing up the chooser such that the "Use by default for this action" will only be used as the default action for my app ACTION_SENDing text/plain?

不,对不起。这就是为什么大多数 ACTION_SEND 示例显示使用 Intent.createChooser() 来消除“将其设为默认值”复选框并忽略用户的任何系统范围默认值的原因之一可能已经设置。

您可以创建自己的选择器 AlertDialog(或对话框主题的 Activity),而不是走 ListPreference 路线“逻辑。 “默认”可能是:

  • 一个特定的选择,按照系统范围的“将其设为默认值”
  • 基于行为(例如,将您的列表分为“常用”和“其他”选项)
  • 基于其他因素(所有用户的行为汇总、月相等)

创建一个具有这种功能的“ super 选择器”是我的一个中等级别的渴望,如果没有人比我早的话,我可能会在今年的某个时候开始尝试。

关于android - 明智地为 ACTION_SEND 文本设置默认应用程序(通过选择器、首选项等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com