Mostra impostazioni in Account & Sync Menu per Android App Android
-
11-12-2019 - |
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.
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 ...