How to get the IMEI number for Nokia phones? - java-me

How do I get the IMEI number for Nokia phones? I tried
StringBulder imei = ...........
imei.append(System.getProperty("phone.imei"));
imei.append(System.getProperty("com.nokia.imei"));
imei.append(System.getProperty("com.nokia.mid.IMEI"));
All return null.
What could be the solution?

On Series 40 phones this requires that your MIDlet is signed to either an operator or manufacturer domain. Without a signed MIDlet you can't get the IMEI Number. See How to get IMEI in Java ME.

com.nokia.mid.imei is the correct one. On Symbian phones this is available on all security domains. On Series 40 phones it is available on only the manufacturer or operator security domains. This is likely to change to align with Symbian on the future Series 40 phones.

See the same discussion, How do I get the IMEI number with J2ME, on the Nokia forum.

Related

Bluetooth beacon Manufacturer ID

I was wondering is there a particular organisation you have to contact with regards to reserving a manufacturer ID for a bluetooth beacon? For instance, if we wanted to start mass producing them, ensuring no one else uses a particular ID?
Any advice would be appreciated.
Why yes there is. You must be member of the Bluetooth SIG. See here for more information and a list of current Manufacturer IDs.
As an addition to the previous answer regarding Bluetooth SIG and Company ID,
I will add a few things:
Company IDs are assigned by the Bluetooth SIG. In order to get one, your company must first become a member of the Bluetooth SIG. The entry level membership (adopter level) is free.
Once you are an adopter member, you can submit a request to get a Company ID (also free).
The company ID is necessary if you want to use the Manufacturer specific data field in order for example to have custom data in the BLE advertisement frames.
If you plan an building a 'simple' beacon product following, you might not need a Company ID. For Apple's iBeacon format for example, the frame format should use the Apple's company ID as well as their beacon format (see for example this page explaining the ibeacon format : http://www.warski.org/blog/2014/01/how-ibeacons-work/). I belive the Google Eddystone beacon format also do not require beacon manufacturer to have their own company ID.

Get Cell-ID in J2ME Application

I want a common(generic) code which gives cell ID of the mobile network.
For nokia it is:
System.getProperty("com.nokia.mid.cellid");
but I need code which gives cell ID irrespective of mobile vendors.
I used System.getProperty("Cell-ID"); but this is Giving null to me.
There is no standard way to get these values and different vendors have different System properties. You can see this at http://www.easywms.com/easywms/?q=en/node/3589
Similar question at How can one acquire position in Non-Gps devices using j2me coding

Retrieving the unique device ID of Microsoft Surface

I am developing an application for Windows 8 and I am testing it on Microsoft's Surface. Does any one know how I can retrieve the unique device ID of Surface?
Just like we do for Windows Phone by retrieving its unique device id using Microsoft.Phone.Info namespace.
I use Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null).Id converted to string, details at http://coding.kulman.sk/how-to-uniquely-identify-a-windows-8-device/
AFAIK, the closest thing you'll find (for Windows Store apps) is the ASHWID, which isn't device specific but rather app+device specific. There are a number of options you can provide in terms of weighting the different factors that comprise the ASHWID.
EasClientDeviceInformation esClientDeviceInformation=new EasClientDeviceInformation();
var localDeviceID= esClientDeviceInformation.Id;
Happy Coding:)

Getting SIM ID or any Unique Number Using J2ME

I am writing an application that run only that user's phone. If the phone is stolen, application will never work anytime. For this scenario, I must used IMEI and SIM number but I develop application on SDK 60 2nd edition. So getting these numbers is not easy.
I used Bluetooth ID instead of IMEI, but I could not found any specific ID instead of SIM number. If any suggestion have been, I' d be glad. Thanks...
There are some examples on how to accomplish this with the IMEI in different phone manufacturers:
http://mobilepit.com/10/how-to-get-imei-number-in-j2me-javame.html
Seems like there's no "universal" method for any of those. In S60 (I guess this is what you mean by 'SDK 60') the appropiate code is:
System.getProperty("phone.imei");
For IMSI I think you have to get the operators signing, but you could use:
System.getProperty("com.nokia.mid.imsi");

J2ME Registration Screen

I would like to add some kind of Registration Screen to my J2ME software in order to allow users to use my app for a trial period and only give them full access after registration.
I know how to get the IMEI etc. but I wonder if there is already code out there which handles the generation of a unique phone identifier and creation of some kind of "CD-Key" for J2ME...
What a lot of downloadsites use(handango etc), is the RPN registration method.
Given a unique ID (IMEI on phones, ownerid on PocketPC, etc) you do a calculation on it which is unique for your app (for instance: add all letters together and divide by 5). This number is your unlock code.
now the user who wants to register your app, gives it's imei number to the webstore,... they pay,... and the webstore does your unique calculation. It then return the unlock code to the customer.
The customer inputs the unlock code into your app, if it matches then they payed!
The way to store this unique calculation is by virtue of RPN (Reverse Polish Notation). This is a way like how HP calculators worked. Instead of typic 4*3 and getting the answer 12, you type: 4 3 *
here is an article on the PocketPC implementation of how to implement the RPN method yourself. Lot's of webshops have the RPN calculator in their webbackend so this way you become compatible with them.

Resources