Android特定的MIME类型列表?

Android特定的MIME类型列表?,android,mime-types,Android,Mime Types,我被要求在我的一个安卓应用程序中添加一个“共享”方法,允许用户通过1)Facebook 2)短信和3)电子邮件进行共享 在研究过程中,我发现要允许用户从“消息传递”应用程序中进行选择,我需要创建以下意图: Intent messageIntent = new Intent(Intent.ACTION_SEND); messageIntent.putExtra(Intent.EXTRA_SUBJECT, title); messageIntent.putExtra(Inte

我被要求在我的一个安卓应用程序中添加一个“共享”方法,允许用户通过1)Facebook 2)短信和3)电子邮件进行共享

在研究过程中,我发现要允许用户从“消息传递”应用程序中进行选择,我需要创建以下意图:

    Intent messageIntent = new Intent(Intent.ACTION_SEND);
    messageIntent.putExtra(Intent.EXTRA_SUBJECT, title);
    messageIntent.putExtra(Intent.EXTRA_TEXT, content);
    messageIntent.setType("vnd.android-dir/mms-sms");
    // title and content set elsewhere...
这种方式很有效,虽然我的列表中也有电子邮件客户

我的问题:

  • 是否有一个特定于Android的MIME类型列表可供我们使用?“vnd.android dir/mms短信”对我来说似乎是凭空从我找到的例子中抽出来的
  • 是否有适当的方法只获取消息客户端(即不获取邮件客户端)——或者在Android中几乎不可能做到这一点
  • 免责声明:上述代码片段是从另一篇SO文章中找到的。也许这只是我在谷歌的失败——但在合法的Android开发者网站上,我似乎找不到任何文档,其中列出了这样做的正确方式,或者我的选择是什么

    我被要求在我的一个安卓应用程序中添加一个“共享”方法,允许用户通过1)Facebook 2)短信和3)电子邮件进行共享

    请允许用户通过这些方式访问,这可能是,也可能不是

    我发现,为了允许用户从“消息传递”应用程序中进行选择,我需要创建以下意图

    不,这允许用户通过恰好支持该未记录且不受支持的MIME类型的任何应用程序进行共享。并非每个“消息传递”应用程序都必须支持该MIME类型,并且欢迎不是“消息传递”应用程序的应用程序支持该MIME类型

    是否有一个特定于Android的MIME类型列表可供我们使用

    不完全是这样,因为它们通常没有文档记录或文档记录不足(例如,常量出现在某个地方而没有解释)

    “vnd.android dir/mms短信”对我来说似乎是凭空从我找到的例子中抽出来的

    它可能来自于

    是否有适当的方法只获取消息客户端(即不获取邮件客户端)——或者在Android中几乎不可能做到这一点

    地球上大约有70亿人。欢迎他们每个人对什么是“消息传递客户端”、“邮件客户端”等有不同的理解。这些是描述性的营销术语,而不是技术定义

    ACTION\u SEND
    用于通过MIME类型共享内容。任何应用程序都可以为任何给定的MIME类型提供
    ACTION\u SEND
    支持,因为任何应用程序的开发人员都可以编写他们想要的内容。任何给定的应用程序是“消息传递客户端”、“邮件客户端”还是其他应用程序都取决于最终用户。你没有办法了解用户的想法,也没有任何法律手段阻止其他程序员编写他们想要的东西

    现在,有各种各样的脚本kiddie黑客,通过应用程序ID(又称包名)将共享列表限制在某些应用程序中。然而,虽然只有一个Facebook(尽管我似乎记得他们有一些应用程序),但有很多短信和电子邮件应用程序,如果不是不可能的话,你很难列出所有这些应用程序的列表,更不用说长期维护这些应用程序了


    我的strong建议是有效地格式化您的内容,并允许用户使用他们希望的应用程序共享这些内容。

    这是我的直觉告诉我的。不幸的是,这些特性/用户界面是由“上级”(即项目经理/设计师)提供给我的。我会告诉他们这不是Android的方式,看看他们怎么说。