Как программно открыть экран настроек Home Launcher List в Android с помощью Intent
Я ищу способ открыть экран списка Launcher в разделе Home в настройках системы с помощью Intent.
Основные настройки системы >> Домой >> Список запуска.
Мне нужно открыть этот список Launcher с помощью Intent. Если бы кто-нибудь мог указать мне правильное направление, я был бы очень признателен. Большое спасибо.
3 ответа
Чтобы открыть страницу настроек главного экрана, позвоните Settings.ACTION_HOME_SETTINGS
намерение. Однако это поддерживается ТОЛЬКО в API 21 и выше.
API 20 и ниже необходимо вызвать Settings.ACTION_SETTINGS
намерение, и пользователь должен пройти оставшуюся часть пути. (Желательно с инструкциями перед рукой)
Чтобы обеспечить наилучшие намерения, когда они доступны, используйте следующий код. Это откроет домашние настройки непосредственно в API 21 и выше, иначе откроется страница настроек в API 20 и ниже.
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
final Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
startActivity(intent);
}
else {
final Intent intent = new Intent(Settings.ACTION_SETTINGS);
startActivity(intent);
}
Для тех, кто хочет открыть задание по умолчанию для настроек приложений запуска, вы можете использовать следующий код
PackageManager localPackageManager = getPackageManager();
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
final String currentLauncherPackageName = localPackageManager.resolveActivity(intent,
PackageManager.MATCH_DEFAULT_ONLY).activityInfo.packageName;
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", currentLauncherPackageName, null);
intent.setData(uri);
startActivity(intent);
В случае, если вам нужно поручить пользователю отключить приложение запуска по умолчанию перед выбором приложения
Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS);
startActivity(intent);