启动从喜好XML文件位置设置意图(Launch Location Settings intent f

2019-08-23 01:09发布

我想从一个发射系统的位置设置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意图系统位置设置?

Answer 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" />


Answer 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>


文章来源: Launch Location Settings intent from preferences XML file