android - 为什么我的应用程序没有显示在默认启动器列表中?

标签 android launcher

我有一个应用程序,它将作为主屏幕、默认启动器。我通过在我的 Intent 中使用 CATEGORY_LAUNCHER 并在 list 文件中使用 CATEGORY_HOME 来实现此目的,主 Activity 具有 ACTION_MAIN 和 CATEGORY_HOME。因为设置了多个家庭,所以 android 会提示用户选择一个家庭,并可选择选择默认家庭。我的模拟器上的此列表中有许多默认应用程序,但我的应用程序不是其中之一。有人知道如何让我的应用程序进入列表吗?

以下是我发送 Intent 的方式:

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_LAUNCHER);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

这里是 list 的相关部分:

<activity
        android:name=".NewHome"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </activity>

最佳答案

如果您想在默认启动器中显示您的应用程序。将您的代码更改为:

<activity
        android:name=".NewHome"
        android:label="@string/title_activity_main" >
        <intent-filter>
                 <action android:name="android.intent.action.MAIN" />  
                 <category android:name="android.intent.category.HOME" />  
                 <category android:name="android.intent.category.DEFAULT" /> 
        </intent-filter>
    </activity>

关于android - 为什么我的应用程序没有显示在默认启动器列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13600971/

相关文章:

Android 启动器无法启动(检查我的 XML)

android - 如何在某些特定打开时调用我的应用程序并启动它

java - Android 架构 SingleLiveEvent 和 EventObserver Java 实践示例

android - 在另一个 Activity 中检索共享首选项

android - 迁移到 New Places SDK Client 找不到符号变量 PLACE_DETECTION_API

ios - 从 iOS 可操作通知交叉启动其他应用程序

android - 如何在运行时更改 MAIN Activity

android - 如何在 Android 中设置 EditText 的限制?

android - 如何在openstreetmap android中制作触摸事件

java - 将应用程序设置为启动器?