Follow

Remote activation with Sygic RemoteActivation utility

Introduction

This remote activation type means that Sygic provides you with the utility, through which you can activate navigation licenses in an automated way.
This utility resides on the mobile side and thus you need to install it into your mobile device before using.
For Android it is the RemoteActivation.apk file.

This type of activation is suitable for mass activation.

The activation utility is called from your application with a single activation request per device.
It is important that there is an internet connectivity during the activation request.
The activation request requires a password and the location of license file. You can retrieve the password through logging to your Sygic Partner account. Check Password retrieval.
Each activation request consumes one licence from your account. Make sure you don't call the activation twice on the same device as it can consume two licenses for one device.

Activation process

We provide RemoteActivation.apk. You first need to install this application on your Android phone.
The installation of the apk will open a channel for your application to perform the remote activation operation.
You need to create an Android intent and send it.
The intent contains two main parameters: passowrd to your partner's account and path to the license file (mlm path).

Example

Intent intent = new Intent("com.sygic.intent.action.activate");
intent.putExtra("com.sygic.intent.extra.passwd", "029BC5E3");
intent.putExtra("com.sygic.intent.extra.mlm", "/mnt/external/Maps/europe.mlm");
sendBroadcast(intent);

Alternatively the mlm path can be the license file name located in the Maps directory:

intent.putExtra("com.sygic.intent.extra.mlm", "europe.mlm");

the result is sent as intent, you need to register a broadcast receiver and add the action to its intent filter, to get the extra:

if (intent != null || intent.getAction() != null || intent.getAction().equals("com.sygic.intent.action.result") || intent.getExtras() != null)
{
  String result = intent.getExtras().getString("com.sygic.intent.extra.result");
}

The result string contains either "fail" or "success" string
Examples:
"fail: password or mlm missing"
"success: licence activated"

At the same time the log file activationLog.txt is created in the Drive/Android directory which contains some additional data.

You may need symbolic names for intents using the following definition:

public static final String INTENT_ACTION_ACTIVATE = "com.sygic.intent.action.activate";
public static final String INTENT_ACTION_RESULT = "com.sygic.intent.action.result";
public static final String INTENT_EXTRA_PASSWD = "com.sygic.intent.extra.passwd";
public static final String INTENT_EXTRA_MLM = "com.sygic.intent.extra.mlm";
public static final String INTENT_EXTRA_RESULT = "com.sygic.intent.extra.result";

Finally you need to enable the application service in your application as follows.

<service
android:name="com.sygic.activation.ActivationService">
</service>
<receiver
android:name="com.sygic.activation.ActivationReceiver">
<intent-filter>
<action android:name="com.sygic.intent.action.activate"/>
</intent-filter>
</receiver>

 

./RemoteActivation ~/dev/sdcard/Drive/Linux/ ~/dev/sdcard/Maps/NAmerica.mlm BF19EFFF

For the operation success it is important that mlm file exists in Navigation (i.e. navigation is fully preinstalled).

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments