android – 为什么需要类别HOME?

前端之家收集整理的这篇文章主要介绍了android – 为什么需要类别HOME?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Purpose of using CATEGORY_HOME in android manifest?2个
我在应用程序清单文件中定义了这些类别:
<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>

如果我删除该行 –

< category android:name =“android.intent.category.HOME”/>

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

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

< category android:name =“android.intent.category.LAUNCHER”/>

我看到我的应用程序从我的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);

解决方法

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

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

猜你在找的Android相关文章