Запуск настроек локального местоположения из файла XML предпочтений
Я хочу запустить System Location Settings с 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-намерения?
Ответы
Ответ 1
Вы можете создать: 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" />
Ответ 2
Попробуйте этот код:
<PreferenceScreen
android:key="key_location"
android:summary="location settings"
android:title="Open location settings">
<intent android:action="android.settings.ACTION_LOCATION_SOURCE_SETTINGS"/>
</PreferenceScreen>