PreferenceScreen - <Absicht .../> - Ausnahme - FLAG_ACTIVITY_NEW_TASK
Ich bin neu bei der android Entwicklung.
Sich bei dem Projekt um die Umsetzung einer AbstractAccountAuthenticator mit einem AbstractThreadedSyncAdapter zu synchronisieren, bestimmte Daten auf einem server mit einem content-provider.
Ich habe alles und sowohl das hinzufügen von Konten und die Synchronisierung läuft ohne Probleme.
Nun habe ich versucht, um einen Präferenz-Bildschirm nur, wie vorgeschlagen in der android-Referenz (Suche nach AbstractAccountAuthenticator, es ist dort erklärt) via xml, wie diese:
autenticator.xml:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="typeOfAuthenticator"
android:icon="@drawable/icon"
android:smallIcon="@drawable/miniIcon"
android:label="@string/label"
android:accountPreferences="@xml/account_preferences"
/>
Dem Preference-Screen-xml sieht wie folgt aus:
account_preferences.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/pref_cat_general">
<PreferenceScreen android:key="@string/pref_cat_scr_keygen" android:title="@string/pref_cat_scr_keygen_title" android:summary="@string/pref_cat_scr_keygen_summary">
<intent android:action="android.intent.action.VIEW" android:targetPackage="com.android.clean" android:targetClass="com.android.clean.KeygenAct" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
Dem Bildschirm wird gefragt, wie es sein sollte, aber und das ist das problem: Wenn ich auf den PreferenceScreen mit der Absicht, es führt zu einem Absturz des Systems (sowohl im emulator und meinem HTC-Desire).
Logcat sagt:
ERROR/AndroidRuntime(18754):
android.util.AndroidRuntimeException:
Aufruf von startActivity() von außerhalb
einer Aktivität Kontext erfordert die
FLAG_ACTIVITY_NEW_TASK Flagge. Ist diese
wirklich, was du willst?
(ganze Logcat auf pastebin)
Hier der Teil des manifests, in denen die Tätigkeit definiert ist:
<activity android:name=".KeygenAct">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Den gesamten test-code (es ist mein Projekt auf das wesentliche, um das problem zu finden) ist zu finden bei googlecode (http://code.google.com/p/cleanproject/source/browse/) (Eclipse-Projekt)
Danke jetzt schon für Eure Hilfe,
Esentian
p.s.: keygen ist nicht eine key generator, es bedeutet mehr key_general. Ein bisschen inartfully ausgedrückt 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
ich hatte das gleiche problem und habe gerade herausgefunden, dass, wenn Sie ändern Ihre Einstellungen:
Dann funktioniert es wie erwartet. Das ist komisch, weil ich würde erwarten, dass PreferenceCategory, um Elemente zu gruppieren, wie seine Kinder... Und deshalb geht das Ergebnis so nicht (?) Fehler?