Intent
からシステムのロケーション設定を起動したい。私はプログラム的にそれがこのようになることを知っています
Intent viewIntent = new Intent(Android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(viewIntent);
しかし、私はPreference
のXMLからそれを行う必要があります。私はこのようにしよう
<Preference
Android:title="@string/pref_title" >
<intent Android:action="Android.settings.ACTION_LOCATION_SOURCE_SETTINGS" />
</Preference>
しかし、それは機能しません。私は常にActivityNotFoundException
を取得します。 XMLインテントからそのシステムロケーション設定を起動するにはどうすればよいですか?
設定を表す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>