Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

From version 4.1.0 on, the mySync client for Android includes a Content Provider which other apps can use to read some information about the user or the client. This page documents this feature. See developer.android.com for information about Content Providers

User information

Content URI: content://{application ID}.provider/user (for example: content://eu.mysync.android.dm.provider/user)

The content URI contains the application ID which is different for different client variations.

This content URI will provide a single row of information if the client has been provisioned. Otherwise it will be empty.

Provider columns

Column nameTypeDescription
accountIdStringUser account ID
deviceIdStringUser device ID
orgCodeStringOrganisation code
serverUrlStringServer URL
lastConnectionLongTimestamp (in milliseconds) of last successful server connection

Example code

Example code
Context context = this;
ContentResolver cr = context.getContentResolver();
Uri uri = Uri.parse("content://eu.mysync.android.dm.provider/user");
String[] projection = {"accountId", "deviceId", "orgCode", "serverUrl", "lastConnection"};
Cursor cursor = cr.query(uri, projection, null, null, null);
String msg;
if (cursor != null) {
   if (cursor.moveToFirst()) {
      String accountId = cursor.getString(0);
      String deviceId = cursor.getString(1);
      String orgCode = cursor.getString(2);
      String serverUrl = cursor.getString(3);
      long lastConnection = cursor.getLong(4);
      msg = "mySync is provisioned. accountId: " + accountId + " deviceId: " + deviceId + " orgCode: " + orgCode + " server: " + serverUrl + " lastConnection: " + lastConnection;
   } else {
      msg = "mySync is not provisioned (no user information provided)";
   }
   cursor.close();
} else {
   msg = "mySync is not installed or mySync version does not support URI or URI is wrong.";
}
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
  • No labels