android: escolha o iniciador padrão programaticamente

Quero abrir uma caixa de diálogo que permita ao usuário escolher um lançador a ser lançadocom definido como opção padrão. eu tentei

        Intent home = new Intent(Intent.ACTION_DEFAULT);
    home.addCategory(Intent.CATEGORY_LAUNCHER);
    Intent chooser = Intent.createChooser(home, "Launcher");
    context.startActivity(chooser);

Mas a caixa de diálogo exibida por isso não tem a opção de definir o padrão. Enquanto o código a seguir não abrirá a caixa de diálogo se um iniciador padrão já estiver definido.

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

Como isso pode ser feito?

questionAnswers(1)

yourAnswerToTheQuestion