Запуск настройки местоположения намерение из XML-файла настроек



Я хочу запустить Настройки местоположения системы из Intent. Я знаю, что программно это происходит так



Intent viewIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(viewIntent);


Но мне нужно сделать это из XML Preference. Я стараюсь вот так



<Preference
android:title="@string/pref_title" >
<intent android:action="android.settings.ACTION_LOCATION_SOURCE_SETTINGS" />
</Preference>


Но это не работает, я всегда получаю ActivityNotFoundException. Как я могу запустить Настройки расположения системы из XML-намерения?
525   2  

2 ответов:

Вы можете создать: PreferenceActivity, который будет представлять ваши предпочтения, а затем вы можете назначить onClick вашим предпочтениям следующим образом:

Preference goToLocationSettings = (Preference) findPreference("goToLocationSettings");
goToLocationSettings.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        public boolean onPreferenceClick(Preference preference) {
            Intent viewIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(viewIntent);

            return true;
        }
    });

И вам нужно будет назначить ключ для вашего предпочтения в xml-файле:

<Preference
    android:key="goToLocationSettings"
    android:title="@string/pref_title" />

Попробуйте этот код:

<PreferenceScreen
    android:key="key_location"
    android:summary="location settings"
    android:title="Open location settings">

    <intent android:action="android.settings.ACTION_LOCATION_SOURCE_SETTINGS"/>

</PreferenceScreen>

Comments

    Ничего не найдено.