我的 android 应用程序中有一个共享首选项文件。在我的首选项文件 (xml) 中,我有多个 CheckBoxPreferences。我想添加另一个首选项,以便当用户按下它时,他将获得 android 位置首选项 (gps)。
我试图将其添加到我的 pref 文件中:
<Preference xmlns:android="http://schemas.android.com/apk/res/android"
android:key="pref_key_gpsStatus"
android:title="Gps Settings" />
并尝试在 onPreferenceClick 和 onSharedPreferenceChanged 上捕获它并按意图调用 gps 设置:
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
当我点击首选项时,什么也没发生。
我尝试的另一件事是在 xml 文件中:
<Preference xmlns:android="http://schemas.android.com/apk/res/android"
android:key="pref_key_gpsStatus"
android:title="Gps Settings" />
<intent
android:action="android.settings.WIRELESS_SETTINGS"/>
和..仍然没有发生任何事情。
有人有想法吗?
谢谢!
这是完整的 pref.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/pref_key_shakeSense"
android:summaryOff="@string/shakeOff"
android:summaryOn="@string/shakeOn"
android:title="@string/shakeSence" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/pref_key_locationViewShots"
android:summaryOff="@string/displayOff"
android:summaryOn="@string/displayOn"
android:title="@string/locationViewShots" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/pref_key_sound"
android:summaryOff="@string/soundOff"
android:summaryOn="@string/soundOn"
android:title="@string/speakUserLocation" />
<CheckBoxPreference
android:defaultValue="false"
android:key="@string/pref_key_Zoom"
android:summaryOff="@string/notActive"
android:summaryOn="@string/active"
android:title="@string/autoZoom" />
<Preference
android:key="pref_key_gpsStatus"
android:title="Gps Settings" />
<intent android:action="android.settings.WIRELESS_SETTINGS"/>
</PreferenceScreen>