Запуск настройки местоположения намерение из 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-намерения? 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