Skip to content

SpiderOak/cordova-android-accountmanager

Repository files navigation

cordova-android-accountmanager

Introduction

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', 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);
	});

	// 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);
});

Basic Usage (Authenticator based handling)

Not yet supported.

Project Setup

Installation

  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.

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">
	<intent-filter>
		<action android:name="android.accounts.AccountAuthenticator" />
	</intent-filter>
	<meta-data android:name="android.accounts.AccountAuthenticator" android:resource="@xml/authenticator" />
</service>

Permissions

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

See the AccountManager documentation for specific requirements for each function.

About

Cordova Android AccountManager plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published