Je suis implémentant des préfégeances N-COUCHE La préfecture de 1ère couche est chargée à partir d'en-têtes de préférence.
premier en-tête crée un fragment de réglages qui est un fragment préférant. Deuxièmement, une activité de navigateur (2ND est un exemple de développeur.Android.com) qui ouvre une URL spécifiée. Le troisième que je veux être un prochain niveau de préférence de la préférence qui sera également chargé à partir d'en-têtes de préférence. P>
Les deux premiers travaux bien, mais la 3ème collectionne une application à l'exception: P>
"Android.content.ActivitéNotfoundException: Aucune activité trouvée pour gérer l'intention {act = Android.Intente.action.Action. Voir dat = com.mycompany.myapp.ui.mypreferenceActivity} " p>
myPreFereneActivité déclarée dans le fichier manifeste. Probablement déclaration d'activité dans Main_headers.xml est fausse, mais je n'ai pas trouvé en références de conseil comment le faire correctement. J'ai essayé plusieurs variations, elles n'ont pas fait Travail. P>
Exemple J'ai utilisé: http://developer.android.com/reference /android/preference/preferenceActivity.html P>
Toutes les pensées Pourquoi cela ne fonctionne pas pour moi ou la manière dont la prochaine préfecture peut être appelée?
Fondamentalement, j'ai juste besoin de démarrer une activité d'en-tête, qui devrait être vraiment simple mais je manque quelque chose. P> Main_headers.xml: p> <?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android" >
<header android:title="Custom Settings"
android:fragment="com.mycompany.myapp.ui.SettingsFragment" />
<header android:title="Intent"
android:summary="Launches an Intent.">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.android.com" />
</header>
<header android:title="Another Preference Activity">
<intent android:action="android.intent.action.VIEW"
android:data="com.mycompany.myapp.ui.MyPreferenceActivity" />
</header>
</preference-headers>
3 Réponses :
Si vous souhaitez démarrer une activité explicite de votre troisième préférence, faites ceci:
<intent android:targetPackage="com.mycompany.myapp" android:targetClass="com.mycompany.myapp.ui.MyPreferenceActivity" />
Je me rends compte que c'est une vieille question. Savez-vous comment spécifier une intention pour le paquet Android par défaut? par exemple. Paramètres.Action_Add_Account code>?
Travaillé avec moi, merci
Si vous créez des préférences à l'aide de Java, vous pouvez obtenir le même résultat par
PreferenceScreen editPhoneNumbersScreen = getPreferenceManager().createPreferenceScreen(mContext); editPhoneNumbersScreen.setTitle(getResources().getString(R.string.change_add_emergency_numbers)); editPhoneNumbersScreen.setSummary(getResources().getString(R.string.summary_add_no)); Intent i = new Intent(getApplicationContext(),TargetActivity.class); i.putExtra("change numbers", true); editPhoneNumbersScreen.setIntent(i);
<activity android:name=".activities.MyActivity" android:label="@string/my_activity_title" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter> <action android:name="com.example.myapp.activities.MyActivity" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>