【问题标题】:Why is category HOME required? [duplicate]为什么需要 HOME 类别? [复制]
【发布时间】:2013-07-09 12:54:08
【问题描述】:

我在我的应用清单文件中定义了这些类别:

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.HOME"/>
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

如果我删除该行 -

&lt;category android:name="android.intent.category.HOME"/&gt;

它不会影响应用程序功能的任何部分,我可以在我的 android 设备的主屏幕启动器列表中看到我的应用程序。

但是,如果我删除最后一行 -

&lt;category android:name="android.intent.category.LAUNCHER" /&gt;

我看到我的应用程序从我的 android 设备的主屏幕启动器列表中消失了。

所以我的问题是这个类别 HOME 的目的是什么,它的常见用途是什么。

如果这个类别的唯一目的是启动android docs中提到的主屏幕,那么我也可以通过以下方式做到这一点:

Intent homeIntent= new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);

【问题讨论】:

  • 你知道我们可以制作自己的发射器吗?检查:ANDROIDSDKPATH\samples\android-17\Home
  • 要检查的链接在哪里?
  • 在你的硬盘上......如果你下载一个 SDK 样本
  • 没关系。我们可以通过将category.LAUNCHER 放在要启动的特定活动中来制作启动器。 category.HOME 怎么样?
  • AFAIK,LAUNCHER 使活动在启动器中可见,HOME 使活动成为启动器(又名主屏幕)

标签: android android-intent android-manifest


【解决方案1】:
 <category android:name="android.intent.category.HOME"/>

表示当您按下主页按钮时,您的应用将被列为启动启动器主页或主页活动的选项(以及在活动清单中包含此类别的所有应用程序)。更简单地说,每当您按下主页按钮时,您的手机中安装的所有应用程序都将在其 AndroidManifest.xml 中的 Intent-filter 中包含 CATEGORY.HOME 类别和 Action_Main (除非您选择了某些应用程序作为默认应用程序)供用户选择要启动的 HOME 的选择器。

【讨论】:

  • 无法在 AndroidTV 上运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 2013-04-21
相关资源
最近更新 更多