/ / Moja siła aplikacji zamyka się podczas próby zmiany programów uruchamiających w systemie Android 5.0 - Android

Moja siła robocza zostaje zamknięta podczas próby przełączenia programów uruchamiających w systemie Android 5.0 - Android

Cześć, próbuję utworzyć aplikację, aby zmienić program uruchamiający na urządzeniu z Androidem za pomocą następującej funkcji:

private void changeLauncher() {
getPackageManager().clearPackagePreferredActivities(getPackageName());
Intent selector = new Intent("android.intent.action.MAIN");
selector.addCategory("android.intent.category.HOME");
selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
startActivity(selector);

}

Działa na wszystkich urządzeniach z Androidem, ale wymusza zamykanie na LG G3 z Androidem 5.0. Działa to jednak z innym urządzeniem z Androidem 5.0 (Asus K19 Fonepad). Co mogę zrobić, aby to rozwiązać?

Odpowiedzi:

0 dla odpowiedzi № 1

Zmień metodę na:

private void changeLauncher() {
getPackageManager().clearPackagePreferredActivities(getPackageName());
Intent selector = new Intent(Intent.ACTION_MAIN);
selector.addCategory(Intent.CATEGORY_HOME);
startActivity(selector);
}

Wygląda na to, że próbujesz uruchomić działanie selektora bezpośrednio, zamiast określać opcję Intent i pozwolenie Androidowi wypełnić samą listę działań, co jest poprawnym użyciem resolvera.