Android — показывать диалоговое окно выбора пусковой установки по требованию

#android

#Android

Вопрос:

Я хотел бы показывать диалоговое окно выбора пусковой установки только при нажатии пользовательской кнопки и отключать его по умолчанию. Чтобы отключить его по умолчанию, я добавил компонент activity alias disabled в свой манифест приложения. Компонент псевдонима имеет категорию «ПО УМОЛЧАНИЮ» внутри объявления фильтра намерений.

AndroidManifest.xml

         <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>

    </activity>

    <activity-alias
        android:enabled="false"
        android:name=".DefaultActivity"
        android:targetActivity=".MainActivity">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.categrory.DEFAULT"/>
        </intent-filter>

    </activity-alias>
  

При нажатии пользовательской кнопки отключенный компонент включен:

 fun resetDefault() {

    val packageManager: PackageManager? = fragment.activity?.packageManager

    val compName = fragment.activity?.packageName?.let {
        ComponentName(
            it,
            "$it.DefaultActivity"
        )
    }
    if (compName != null) {
        packageManager?.setComponentEnabledSetting(
            compName,
            PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
            PackageManager.DONT_KILL_APP
        )
    }

    val selector = Intent(Intent.ACTION_MAIN)
    selector.addCategory(Intent.CATEGORY_HOME)

    selector.flags = Intent.FLAG_ACTIVITY_NEW_TASK

    fragment.activity?.startActivity(selector)

    compName?.let {
        packageManager?.setComponentEnabledSetting(
            it,
            PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
            PackageManager.DONT_KILL_APP
        )
    }
    
}
  

Проблема в том, что диалоговое окно выбора пусковой установки не отображается, и приложение закрывается. Кто-нибудь может сказать мне, чего не хватает в текущей реализации?