从首选项XML文件启动位置设置意图

我想从Intent启动System的位置设置。 我以编程方式知道它是这样的

 Intent viewIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(viewIntent); 

但我需要从Preference的XML中做到这一点。 我试试这个

    

但它不起作用,我总是得到一个ActivityNotFoundException 。 如何从XML Intent启动系统位置设置?

您可以创建一个: 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文件中为您的首选项分配一个键:

  

试试这段代码: