I am implementing a syncadapter for an android app and would like to make the settings for the account available under the "Accounts & sync" menu. I have seen this done in the DropBox app(as shown below), but I have not been able to find documentation on how to do this. I have the accounted added, just want to add a link to the account settings in this menu.
The Accounts tab in Settings holds the keys to all of the online accounts on your phone. Under the Personal tab in Settings, you'll find an option for Accounts. This is separate from the tab, where you'll find a lot of preferences related to how your account operates on your device.
From the Home screen, tap Apps > the Apps tab (if necessary) > Settings . From the Home screen, tap the Menu key > Settings. Select a setting category and configure the desired settings.
The Account Settings page will show you a summary of your user and store account information. This page will also allow you to perform simple account functions such as: Setting up/Updating your 2-Step Authentication. View/Add/Update your store's Administrator Access options. View/Update your Billing and Plan ...
In your Android Manifest, you should have a section like this to define your 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>
The meta-data tag above should point to an XML file that defines your account, like this:
<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"/>
The android:accountPreferences attribute above points to an XML file that defines your preferences screen, like so:
<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>
The above PreferenceScreen will launch an intent to display a settings screen, but you can also define the settings directly in the XML file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With