Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Serial number from Samsung Device running Android

I have a Samsung Galaxy Tab 2.0 (7")

On the back of this device is a serial number of the format

RF3C6000MNA

When I go into settings on my device, and choose About Device->Status->Serial Number, this number also appears.

I can't, however, find a way of extracting this number programmatically.

I've seen loads of articles about extracting the serial number, but this returns a completely different number. (using android.os.Build.SERIAL)

I've already extracted the IMEI, and MAC address, so I don't need code for this.

like image 722
Rich S Avatar asked Jan 04 '13 16:01

Rich S


People also ask

Can you check Samsung serial number?

All you have to do is: Navigate to and open Settings, and then tap About phone or About tablet. The back of your device: The IMEI and serial number are printed in small text on the back of the device near the bottom.

How can I find the serial number of my phone without the phone?

Call your local carrier branch and ask for the serial number. In the event that you can't find the serial number on the phone, its packaging, or your online account, you can call your closest carrier branch and ask for the serial number.

Can I use IMEI to find serial number Samsung?

On Samsung devices *#06# only returns the IMEI and not the serial number. Some manufacturers do use the IMEI or ESN as the serial number,but most GSM phones have the IMEI different from the serial.


2 Answers

public static String getManufacturerSerialNumber() {
  String serial = null; 
  try {
      Class<?> c = Class.forName("android.os.SystemProperties");
      Method get = c.getMethod("get", String.class, String.class);
      serial = (String) get.invoke(c, "ril.serialnumber", "unknown");
  } catch (Exception ignored) {}
  return serial;
}

Edit: it's been a while since this answer, here's a couple of updated points:

  • The OP asked about Galaxy Tab 2 and for that indeed the answer was ril.serialnumber (even for the non-3G model - see this gist). According to Himanshu's answer Galaxy Tab 3 uses sys.serialnumber (also backed by this answer). sys.serialnumber makes better sense for tablets as ril.* stands for Radio Interface Layer, something most tablets are not equipped with (ril.serialnumber, respectively, makes better sense for phones).
  • There is no standard API for getting the device serial number (ie the serial number on the packaging - not to be confused with Settings.Secure.ANDROID_ID or the various other "unique" identifiers scattered throughout the API). This means it is up to the manufacturer to decide where to store the device serial (if at all). On the S3 Mini it's ril.serialnumber, on NexusOne it's ro.serialno (gist), on Galaxy Tab 2 it's ril.serialnumber, on Galaxy Tab 3/4 it's sys.serialnumber, on Lenovo Tab it's none of the above. These settings appear to be the usual suspects, when looking for the device serial, but shouldn't be taken for granted, and as such, shouldn't be relied on for tracking unique app installations.
like image 63
dev Avatar answered Oct 29 '22 04:10

dev


You can use the getprop command on the adb shell and check yourself that which of the files contains the correct serial number. Many times the serial number is located in different files and a code has to be device specific.

For samung Tab 3 you can use the following code:

try {

        Class<?> c = Class.forName("android.os.SystemProperties");

        Method get = c.getMethod("get", String.class, String.class);

        serialnum = (String) (get.invoke(c, "sys.serialnumber", "unknown"));

    } catch (Exception ignored) {

        serialnum = "unknown";

    }
like image 24
Himanshu Khandelwal Avatar answered Oct 29 '22 04:10

Himanshu Khandelwal