6

从 AndroidManifest 中删除以下内容的替代方法是什么:

 <activity           

    android:name="com.apper.main.UserActivity"
    android:label="@string/app_name"        
    android:launchMode="singleTask"
    android:clearTaskOnLaunch="true"
    android:stateNotNeeded="true" >
        <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>
 </activity>

我还发现删除上面的行后,对我的android应用程序没有影响。这个类别的主要用途是什么,它的替代品是什么。

如果此类别的目的是启动主屏幕,则可以通过以下方式完成:

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

上面的代码将启动主屏幕,但为什么在 android manifest 中有一行?从这里删除行并没有改变应用程序的目的是什么?

4

2 回答 2

7

这个类别的主要用途是什么

它与 一起ACTION_MAIN识别替换主屏幕。

有什么替代方法

没有它。要么你有这个类别,要么你没有。

于 2013-07-09T15:54:28.300 回答
5

HOME 类别用于将您的应用程序声明为 Home 启动器。通过将其放入清单中,用户将可以选择在按下主页按钮时打开您的应用程序。

这通常在创建将在 kiosk 模式下使用的应用程序时使用。

我不相信有另一种方法可以使应用程序成为家庭启动器。

文档

于 2013-07-09T15:54:38.010 回答