Sto implementando PreferenceAttività n-layer Primo livello PreferenceAttività viene caricata dalle intestazioni di preferenza.Avvia l'attività dalle intestazioni di preferenza
Prima intestazione crea il frammento di impostazioni che è un PreferenceFragment. La seconda è l'attività del browser (la seconda è un esempio di developer.android.com) che apre l'URL specificato. Il terzo voglio essere un prossimo livello di PreferenceAtivity che verrà caricato anche dalle intestazioni delle preferenze.
Prima due lavorano bene, ma 3 ° si blocca un app con l'eccezione:
"android.content.ActivityNotFoundException: trovate attività per gestire Intent {atto = android.intent.action.VIEW dat = com.mycompany .myapp.ui.MyPreferenceActivity} "
MyPreferenceActivity dichiarato nel file manifest. Probabilmente la dichiarazione di attività in main_headers.xml è sbagliata, ma non ho trovato nei riferimenti alcun consiglio su come farlo. Ho provato diverse varianti, non hanno funzionato.
esempio ho usato: http://developer.android.com/reference/android/preference/PreferenceActivity.html
Qualche idea perché non funziona per me o come la prossima PreferenceActivity può essere chiamato? Fondamentalmente ho solo bisogno di iniziare un'attività dall'intestazione, che dovrebbe essere davvero semplice ma mi manca qualcosa.
public class MySettings extends PreferenceActivity
{
@Override
public void onBuildHeaders(List<Header> target)
{
loadHeadersFromResource(R.xml.main_headers, target);
}
}
main_headers.xml:
<?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>
mi rendo conto che questa è una vecchia questione. Ti capita di sapere come specificare un intento per il pacchetto Android predefinito? per esempio. 'Settings.ACTION_ADD_ACCOUNT'? – Jin
Ha lavorato con me, grazie –