#android #android-intent #android-settings
#Android #android-намерение #android-настройки
Вопрос:
Я хочу показать только фрагмент настроек Wi-Fi из настроек. Я добился этого, используя следующий код:
Intent i = new Intent(Settings.ACTION_SETTINGS);
i.putExtra(":android:show_fragment", "com.android.settings.wifi.WifiSettings");
i.putExtra(":android:no_headers", true);
startActivity(i);
Теперь я хочу показывать только фрагмент даты и времени из настроек, поэтому я изменил свой код на:
Intent i = new Intent(Settings.ACTION_SETTINGS);
i.putExtra(":android:show_fragment","com.android.settings.ACTION_DATE_SETTINGS");
i.putExtra(":android:no_headers", true);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
к сожалению, это не работает.Как я могу отобразить только определенный фрагмент настроек из встроенного приложения настроек Android, как это
Ответ №1:
Я хочу показать только фрагмент настроек Wi-Fi из настроек. Я добился этого, используя следующий код:
Я бы рекомендовал вам использовать ACTION_WIFI_SETTINGS
недокументированные дополнения и избавиться от них.
Теперь я хочу отображать только фрагмент даты и времени из настроек, поэтому я изменил свой код … к сожалению, он не работает.
Правильное решение — использовать ACTION_DATE_SETTINGS
недокументированные дополнения и избавиться от них. Помимо этого, com.android.settings.ACTION_DATE_SETTINGS
— это не название фрагмента.
Комментарии:
1. спасибо за ответ… вы правы, предложенное вами решение показывает другие параметры настроек, которые мне не нужны
2. @RahulMatte: Ваше решение предполагает конкретную реализацию приложения настроек. Производители устройств, скорее всего, внедрили поддержку этих специализированных действий. Они могут изменять имена классов фрагментов по своему усмотрению, и многие производители сделали это. Следовательно, ваше решение приведет к сбою или иным неправильным действиям на некоторых устройствах Android.
Ответ №2:
Очевидно, no_headers был незаметно удален с Android L и выше…итак, нам не повезло. Перепишите просто отдельные фрагменты com.android.settings и заблокируйте стандартные настройки через MDM — затем молитесь о подписи СИСТЕМЫ в вашем приложении.