WARNING: this project is no longer maintained, project archived as read-only.
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).
var am = window.plugins.accountmanager;
// Add account explicitly
am.addAccountExplicitly('MyAccountType', 'bob', 'passwordbob', null, function(error, bob)
{
// bob.name = 'bob'
// bob.type = 'MyAccountType'
// List all accounts of MyAccountType
am.getAccountsByType('MyAccountType', function(error, accounts)
{
accounts.forEach(function(account)
{
console.log('Account: ' + JSON.stringify(account));
});
});
// Get password
am.getPassword(bob, function(error, password)
{
console.log("Bob's password: " + password);
});
am.setAuthToken(bob, 'authtoken', 'secret token');
am.getAuthToken(bob, 'authtoken', true, function(error, token) {
console.log("Bob's token: " + token);
});
// 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
am.removeAccount(bob);
});
Not yet supported.
cordova plugin add https://github.com/polychrom/cordova-android-accountmanager.git
<script charset="utf-8" src="accountmanager.js"></script>
to your cordova app's HTML.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">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator" />
</service>
Depending on the level of usage, the following permissions may be required by the plugin for correct usage:
This plugin can be configured via Android string resources (res/values/strings.xml) as follows:
aam_account_type
: Specifies the plugin's authenticator account type (this value must match the first parameter passed into accountmanager.addAccountExplicitly)
See the AccountManager documentation for specific requirements for each function.