Android 什么是;类别“;你的意思是什么?

Android 什么是;类别“;你的意思是什么?,android,categories,Android,Categories,说明可以指定自定义类别 你什么时候、为什么、怎么做 那有什么用呢 向下滚动一点,您应该会看到“意图对象”下的一节 它们基本上描述了活动的某些特殊属性。例如,添加 <category android:name="android.intent.category.HOME" /> 这意味着该应用程序可以在手机启动时启动尽管我有编程经验,但我还是有点不喜欢Android。。它在您自己的命名空间中显示一个自定义类别。我猜,如果您正在编写多个应用程序,并且希望一个应用程序运行另一个应用

说明可以指定自定义类别

  • 你什么时候、为什么、怎么做
  • 那有什么用呢

向下滚动一点,您应该会看到“意图对象”下的一节

它们基本上描述了活动的某些特殊属性。例如,添加

<category android:name="android.intent.category.HOME" />


这意味着该应用程序可以在手机启动时启动

尽管我有编程经验,但我还是有点不喜欢Android。。它在您自己的命名空间中显示一个自定义类别
。我猜,如果您正在编写多个应用程序,并且希望一个应用程序运行另一个应用程序,您可以使用自定义类别来实现您的意图,以强制手机找到您的其他应用程序,从而捕捉到您的意图。

按照我的理解,类别是对android操作系统(和其他应用程序)的公共指令表示应用程序应属于的不同类别

范例

  • 当在主屏幕上点击launcher图标时,主应用程序会在每个已安装应用程序的清单中查找
    home
    类别,如果是,则会在应用程序抽屉中显示
然而,还有更多。您可以在应用程序清单中指定类别,让系统知道您的应用程序可以处理意图类别。例如,通过放置一个
备选
类别,系统中的其他应用程序知道您的应用程序可以处理该类别,而无需特别知道操作名称!在以下示例中,自定义意图类别通过此意图传递,该意图将被过滤并编辑相应的对象(取自Notes示例应用程序):


通过在
标记中注册此意图过滤器,您可以编辑“注释”。意图数据将包含注释,并且意图将被路由到注册此筛选器的活动

总之:


没有理由使用自定义类别。它们是针对Android的,因此在应用程序使用中没有真正意义。但是,如果您选择使用它们,则可以在上述方法中使用它们。“它们提供了一些特定的语义规则,如果这些规则对您有用,您可以随意使用”(Hackbod)

如果不想使用默认类别,请使用自定义类别。 自定义类别应使用包名称作为前缀,以确保它们是唯一的。 以下链接提供了一些信息:
检查下面的链接,它有一些相同的问题:

我对自定义类别更感兴趣。找不到任何关于这方面的内容。不过你能自己分类吗?类似于,如果向下滚动到addCategory(),您将找到所需类别的-Parameters category。这可以是预定义的意图类别之一,也可以是您自己命名空间中的自定义类别。实际上没有“您自己的类别”或“自定义类别”之类的东西。与操作一样,这些只是全局命名空间中的字符串。android.*名称空间中有一些由平台定义的标准意向协议,但它们没有什么特别之处。它们提供了一些特定的语义规则,如果这些规则对您有用,您可以随意使用它们。。。请记住,您需要将它们限定在您自己的名称空间中。@hackbod-hmm我想是有道理的。如果你能回答我的问题,我会奖励你:)选择的备选方案是什么意思?是的,我读过。但在这个问题上,它对他们不起作用,也没有答案。基本上,我们可以使用意图动作过滤器来确保活动之间的沟通。使用类别过滤器的好处是什么?
<intent-filter android:label="@string/resolve_title">
 <action android:name="com.android.notepad.action.EDIT_TITLE" />
 <category android:name="android.intent.category.DEFAULT" />
 <category android:name="android.intent.category.ALTERNATIVE" />
 <category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
 <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
</intent-filter>