如何有条件地将android应用程序作为启动器

如何有条件地将android应用程序作为启动器,android,Android,我有两个android应用程序 一个是用户类型1,它是一个启动器应用程序,用户将使用此应用程序作为默认启动器 第二个是用户类型2的常规应用程序,用户打开应用程序并使用 此后,我将两个应用程序合并为一个应用程序。一切正常。但两位用户都看到了这样一个屏幕:选择哪个应用程序作为启动器 有人能告诉我,是否可以将应用程序仅作为用户类型1的启动器?您可以将启动器组件(即接收主意图的活动)声明为禁用: <activity android:name="my.launcher.Class"

我有两个android应用程序

  • 一个是用户类型1,它是一个启动器应用程序,用户将使用此应用程序作为默认启动器
  • 第二个是用户类型2的常规应用程序,用户打开应用程序并使用
  • 此后,我将两个应用程序合并为一个应用程序。一切正常。但两位用户都看到了这样一个屏幕:选择哪个应用程序作为启动器


    有人能告诉我,是否可以将应用程序仅作为用户类型1的启动器?

    您可以将启动器组件(即接收主意图的活动)声明为禁用:

    <activity
        android:name="my.launcher.Class"
        android:enabled="false"
        ... >
    
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </activity>
    
    ComponentName cn = ComponentName.unflattenFromString("my.app.id/my.launcher.Class")
    
    packageManager.setComponentEnabledSetting(cn,
        PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
        PackageManager.DONT_KILL_APP)