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 7 Current »

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.

Profile information

Since: Client version 5.6; Server version 19.10

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

Access to this data in protected. Calling package name must be listed in the ContentProviderPolicy of the device profile. Optionally also the package's signature fingerprint can be checked.

This content URI will provide a single row of information if the client has been provisioned. If access is denied, an unchecked exception is thrown. The client downloads updates to the data during scheduled connections.

Provider columns

Column nameTypeDescription

deviceCn

StringDevice's Common Name. This is the name visible in mySync user interfaces.

deviceId

StringDevice's UUID.

orgCode

StringOrganisation code

deviceMsisdn

StringDevice's phone number as known by the server.

deviceDescription

StringDevice profile's description as set on server.


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. This is the name visible in mySync user interfaces, also known as CN or Common Name.
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, mySync version does not support URI, or URI is wrong.";
}
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
  • No labels