参见英文答案 >
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.