Account Manager

An Android AccountManager plugin for Apache Cordova.
platforms: android
$ cordova plugin add com.polychrom.cordova.AccountManagerPlugin



cordova-android-accountmanager is an Android AccountManager plugin for cordova-android.

It currently only supports explicit account handling (programatically adding/removing/settin/getting account details to the AccountManager).

Basic Usage (Explicit account handling)

var am = window.plugins.accountmanager;

// Add account explicitly
am.addAccountExplicitly('MyAccountType', 'bob', 'passwordbob', null, function(error, bob)
    // = 'bob'
    // bob.type = 'MyAccountType'

    // List all accounts of MyAccountType
    am.getAccountsByType('MyAccountType', function(error, accounts)
            console.log('Account: ' + JSON.stringify(account));

    // Get password
    am.getPassword(bob, function(error, password)
        console.log("Bob's password: " + password);

    // Get/Set user data
    am.setUserData(bob, 'age', 30);
    am.getUserData(bob, 'age', function(error, age)
        console.log('Bob is ' + age + 'years old');

    // Remove account

Basic Usage (Authenticator based handling)

Not yet supported.

Project Setup

Installation - Cordova Command Line

cordova plugin add

Installation - Manual ( Step 1 )

  1. Copy (or link) all the .java files into your project src (under the appropriate com.polychrom.cordova package).
  2. Copy accountmanager.js into your cordova app's www directory
  3. Add <script charset="utf-8" src="accountmanager.js"></script> to your cordova app's HTML.
  4. Copy (or link) authenticator.xml to your project's res/xml/ folder.

Installation - Manual ( Step 2 ) - Edit Android Manifest for Authenticator Service

To register the AuthenticatorService with your application, the following will need to be added to your manifest's application element:

<!-- The authenticator service -->
<service android:name="com.polychrom.cordova.AuthenticatorService" android:exported="false">
        <action android:name="android.accounts.AccountAuthenticator" />
    <meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator" />

Installation - Manual ( Step 3 ) - Add Permissions

Depending on the level of usage, the following permissions may be required by the plugin for correct usage:

Configuration options

This plugin can be configured via Android string resources (res/values/strings.xml) as follows:

  • [required] aam_account_type: Specifies the plugin's authenticator account type (this value must match the first parameter passed into accountmanager.addAccountExplicitly) MyCustomAccountName

See the AccountManager documentation for specific requirements for each function.