gpt4 book ai didi

java - 自定义共享对话框

转载 作者:太空狗 更新时间:2023-10-29 13:34:41 28 4
gpt4 key购买 nike

我正在尝试获取类似于下面的共享对话框,用于与预选的应用程序列表(电子邮件、Facebook、Twitter、Google+)共享一些纯文本。问题是,如果我启动一个共享文本的 Intent ,对话框中有太多应用程序。

1) 我可以明确选择对话框中显示的应用程序吗?

2) 如果没有,我可以制作一个自定义对话框。如果是这样,我可以专门选择一个应用程序来启动并提供我的 Intent 吗?对于每个对话框选项,我都会启动一个特定的应用程序。第一项 - 电子邮件,第二项 - Facebook 等。

enter image description here

最佳答案

1) Can I explicitly choose the apps shown in the dialog?

您无法修改操作系统使用应用选择器创建的此列表。 (我猜所有这些应用程序都接受非常常见数据类型“text/plain”。)

2) If not, I can make a custom dialog. If so, can I specifically choose an app to launch and provide it with my intent? for each dialog option, I'd launch a specific app. First item - email, second item - facebook etc.

就构建您自己的自定义列表而言,您需要考虑以下几点:

  • 您可以创建明确打开 GMail 和 Facebook 应用程序的 Intent,但某些用户不使用这些特定应用程序。相反,您应该显示接受特定数据类型(或 MIME 类型)的应用。

  • 电子邮件应用程序具有特定的 MIME 类型:“message/rfc822”,但有些应用程序不使用它。使用“text/plain”可能更安全。

  • 我不知道任何特定的 Facebook MIME 类型,无论如何您都必须使用“text/plain”。或者,您可以使用 PackageManager 在每个已安装的应用程序中搜索字符串“facebook”,但是第三方 Facebook 应用程序的程序包名称中可能没有此字符串....

如果您打算使用“文本/纯文本”数据类型,那么您最终会得到操作系统已经自动为您创建的列表...

您想做的事并非不可能,但比听起来要难。最后,您可能会不小心将用户最喜欢的应用从您的自定义列表中排除...

(Android 有一个关于这个主题的有见地的博客:Sharing with Intents。)

关于java - 自定义共享对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11868800/

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