Question

Can any one help me out how to do MDM Integration in Android from client and server prespective?

I want to do an enterprise application which having lock and wipe functionality. I have no any clue of workflow of MDM in Android.

Thanks.

Was it helpful?

Solution

Android Device Admin API will do both things what you want to do (lock/wipe device and even more). An example is given and also you can find this complete source code in your Android SDK directory.

Now as client server perspective:

You have to implement your task (lock and wipe) in your android application (in client, i.e. known as agent). Now your application should be capable to communicate with your server or vice-verse.

I am 100% agree with adamk as he said "Remote controlling your application remains exclusively your responsibility - the Android framework does not provide (or enforce) any solution for that."

And Android gives your this feature too, as adamk said to use C2DM, he was right but now C2DM is deprecated, and GCM has been introduced, “a service that helps developers send data from servers to their Android applications on Android devices.” The service can send a message of up to 4 kb to an application on an Android device, most often to tell the application to retrieve a larger set of data. GCM will now handle all queueing and delivery for messages to Android applications.

You should read how to use GCM, and you can find sample code too. Download GCM Android Library from SDK Manager enter image description here and check android-sdk/extras/google/GCM directory

After establishing successful communication between your agent and server, evaluate msg in agent sent by server and perform desire action (lock/ wipe). This is again up to you how you define your message payload and how you handle those payloads in agent application.

Here is an article about Android MDM.

Happy Coding :)

OTHER TIPS

You can use DeviceAdmin to gain privileges for managing the Lock preferences and performing device wipe (among other stuff). (The user must add your app as a device administrator beforehand)

Remote controlling your application remains exclusively your responsibility - the Android framework does not provide (or enforce) any solution for that.

You may want to consider using Google's C2DM API, which is a convenient push mechanism.

As mentioned in the above answer, DeviceAdmin API can help. If you are using an Android device, you might know about the Android Device Manager (the web-based version) which allows you to manage your device. Basically, you can track, locate, lock, and wipe your device, some of the basic features of an MDM solution. So, in coding (though I am not a coding expert), you need to get access to the Device Manager (I guess, using some listener codes, or notification access).

Apart from this, MDM allows creating policies and groups of users (which would be a part of the coding in the app itself), then pushing the command over the internet (or OTA) to the connected device.

MDM also allows managing Apps and Data on the device, for which, you need the app to get access to the internal as well as external device storage. Hope this helps. Good luck creating your MDM software

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top