我的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>
答案 0 :(得分:0)
在此代码段中,意图超出首选项范围。
<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"/>
您应将其作为首选项的一部分将其括起来:
<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"/>
</Preference>