starten einer activity aus preferences.xml

Ich versuche zu gehen, um den Einstellungen-Bildschirm-gefunden bei -

android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS

Vom Eintrag in meine Einstellungen-Aktivität, aber habe kein Glück. Im moment drücken, wird der Eintrag nur aktualisiert den gleichen Bildschirm wie ich war.

Meine preferences.xml sieht wie folgt aus:

<Preference
         android:title="@string/my_location_settings">
    <intent android:action="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS">
    </intent>
 </Preference>

Und mein manifest-Eintrag sieht wie folgt aus:

<activity android:name=".Preferences">
        <intent-filter>
            <action android:name="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

Was mache ich falsch?

logcat:

12-11 15:53:34.170: INFO/ActivityManager(173): Starting activity: Intent { act=android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS cmp=com.my.app/.Preferences }
12-11 15:53:34.400: INFO/ActivityManager(173): Displayed activity com.my.app/.Preferences: 229 ms (total 229 ms)

Manifest:

<?xml version="1.0" encoding="utf-8"?>

    <activity android:name=".ViewActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MyPageOneActivity">
    </activity>
    <activity android:name=".MyPageTwoActivity">
    </activity>
    <activity android:name=".MyPageThreeActivity">
    </activity>
    <activity android:name=".Preferences">
        <intent-filter>
            <action android:name="com.my.app.PREFERENCES" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
</manifest>

Preferences.java (
sorry für die fehlende Formatierung):

  package com.my.app;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Preferences extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.preferences);
    }
}

und preferences.xml:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference 
    android:title="Address 1"
    android:key="customURLOne" 
    android:summary="Enter a new address for 1">
</EditTextPreference>
<EditTextPreference 
    android:title="Address 2"
    android:key="customURLTwo" 
    android:summary="Enter a new address for 2">
</EditTextPreference>
<EditTextPreference 
    android:title="Address 3"
    android:key="customURLThree" 
    android:summary="Enter a new address for 3">
</EditTextPreference>
 <Preference android:title="@string/my_location_settings">
    <intent android:action="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS">
    </intent>
 </Preference>

  • Was bedeutet das logcat sagen? Außerdem kannst du die manifest-Eintrag für die Haupt-Einstellungsseite? Die eine, die Sie immer wieder auf?
  • Das ist die manifest-Eintrag für meine wichtigsten Einstellungen, die logcat:
  • 12-11 15:53:34.170: INFO/ActivityManager(173): Start Aktivität: Intent { act=android.Anbieter.Einstellungen.ACTION_LOCATION_SOURCE_SETTINGS cmp=com.meine.app/.Einstellungen } 12-11 15:53:34.400: INFO/ActivityManager(173): Eingeblendete Aktivität com.meine.app/.Vorlieben: 229 ms (insgesamt 229 ms)
  • Ich verstehe immer noch nicht den manifest-Eintrag für die Hauptseite, nur für die, die Sie versuchen zu erreichen.
  • oh sorry, der eine Im, der versucht, zu bekommen ist Teil des android-os, ich bekomme auch über eine alert-box durch die Verwendung der Anweisungen: Vorsatz myLocationOptionsIntent = new Intent( android.Anbieter.Einstellungen.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(myLocationOptionsIntent); Dies bringt Sie die Standorte & Sicherheits-Einstellungen unter Android-Einstellungen-Liste
  • Ich verstehe es nicht. Ihren Vorlieben Absichten sagt ACTION_LOCATION_SOURCE_SETTINGS, so deutlich Sie versuchen, starten Sie den Vorgang ".Einstellungen".
  • Richtig, ich glaube, ich bin immer verwirrt. Ich möchte, um die Liste der Einstellungen für Standorte & security, denselben, gebracht durch den code in den Kommentar oberhalb. Die .Vorlieben Aktivität startet gut, dann will ich gehen, um die Standorte und die Sicherheitseinstellungen aus einem Eintrag in der Liste. Dies ist, wo es wieder zu dem gleichen Bildschirm.

InformationsquelleAutor qubz | 2010-12-11
Schreibe einen Kommentar