How to get IMEI Number in Cordova?

Problem

I am developing an application in Cordova which requires to get the IMEI number of any device programatically. Cordova Provides the UUID number but that won't work for me, I need IMEI number.

Or is there any plugin to get the IMEI Number directly?

"IMEI PhoneGap Plugin in Android" it gives custom plugin that only work for the android I need plugin which support for both android as well as ios.

"How to programmatically get the devices IMEI/ESN in Android" it gives java code for the android so how do I convert java code in angularjs?

Is there any plugin available or not? It simple as that.

Problem courtesy of: Poorav C_x_J

Solution

Simplest way to get IMEI in android device only

$ cordova plugin add https://github.com/vliesaputra/DeviceInformationPlugin.git

The above listed is cordova plugin to get device information. get method of that plugin generate a JSON In which you can see your android device’s IMEI number.

Using code:

var deviceInfo = cordova.require("cordova/plugin/DeviceInformation");
deviceInfo.get(
   function(result) {
      console.log("result = " + result);
   },function() {
      console.log("error");
});

Without using code:

  • In device’s hardware where you insert your SIM
  • In device’s Setting->About phone->Status->IMEI OR (SIM status -> IMEI)
  • Dial: *#06#

IMEI number is actually SIM card port number. so you can not access IMEI number of SIM-LESS devices. (ex.:- without SIM tablet)

Solution courtesy of: Poorav C_x_J

Discussion

You've been linked to how to do it in Android. It is not possible in iOS - Apple does not permitt it. UUID will have to do.

Discussion courtesy of: ceejayoz

This recipe can be found in it's original form on Stack Over Flow.