Domanda

Sto implementazione di un sincuradapter per un'app Android e vorrei effettuare le impostazioni per l'account disponibile nel menu "Account & Sync".Ho visto questo fatto nell'app Dropbox (come mostrato di seguito), ma non sono stato in grado di trovare la documentazione su come farlo.Ho aggiunto il contabile, voglio solo aggiungere un collegamento alle impostazioni dell'account in questo menu.

Inserisci Descrizione dell'immagine qui

È stato utile?

Soluzione

Nel manifestamento Android, dovresti avere una sezione come questa per definire il tuo account Authenticator:

<service android:name="AccountAuthenticatorService"
 android:exported="true" android:process=":auth">
 <intent-filter>
  <action android:name="android.accounts.AccountAuthenticator" />
 </intent-filter>
 <meta-data android:name="android.accounts.AccountAuthenticator"
  android:resource="@xml/authenticator" />
</service>
.

Il tag Meta-Data sopra dovrebbe indicare un file XML che definisce il tuo account, come questo:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="fm.last.android.account"
    android:icon="@drawable/icon"
    android:smallIcon="@drawable/icon"
    android:label="@string/app_name"
    android:accountPreferences="@xml/account_preferences"/>
.

L'Android: AccountPreferences Attributo sopra punta a un file XML che definisce la schermata delle preferenze, come:

<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory
            android:title="General Settings" />

    <PreferenceScreen
        android:key="account_settings"
        android:title="Account Settings"
        android:summary="Sync frequency, notifications, etc.">
        <intent
            android:action="fm.last.android.activity.Preferences.ACCOUNT_SETUP"
            android:targetPackage="fm.last.android"
            android:targetClass="fm.last.android.activity.Preferences" />
    </PreferenceScreen>
</PreferenceScreen>
.

La preferenze sopra riportata avvierà un intento per visualizzare una schermata delle impostazioni, ma è anche possibile definire le impostazioni direttamente nel file XML.

Altri suggerimenti

Se ho capito correttamente, si desidera visualizzare la schermata "Account & Sync Settings" dall'interno della tua applicazione.Per questo è necessario sparare un intento per le impostazioni.Utilizzare il codice riportato di seguito:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.android.providers.subscribedfeeds","com.android.settings.ManageAccountsSettings"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
.

Spero che questo abbia aiutato ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top