Many phones provide the capability of relaying position coordinates to rescue services for when 911 is dialed. I know my phone has this capability, although it can be turned off in the phone settings.
Anyway, I was wondering if the J2ME API defines interfaces for accessing this sort of data or would this be something strictly limited to the a phone vendors API? If it's specific to the phone, does anyone know of any phones that offer such an API?
Nevermind... extensive searching this afternoon has revealed an answer to my question. Here are some details for those that care.
For one, it's different for each phone. Some have GPS-enabled chips which support e911 for accessing the coordinates of a phone and others can enable this type of behavior using Bluetooth technology.
Second, some carriers offer the service under limited restrictions and others don't. For instance with Sprint PCS (my service provider), in order to access the API for gps functionality on the phone, you have to either pay for an expensive Verisign certificate or enable certain features on the phone through their developer network.
In short, it doesn't seem to be very easy. Plus, your phone must be MIDP 2.0 compliant.
Actually for Sprint PCS it's both. You have to buy a $400 Verisign certificate to sign your applications and they will STILL only work on phones that have been explicitly "device enabled" through their developer's website.
Even then, the phone will warn the user that they are downloading an "untrusted" application.
I've been looking at ways around these limitations. For example, I'd like to buy one certificate and share it among a bunch of independent developers. I'd like to devise an automatic way to device enable everyone's phone when they choose to download the application. It all seems possible to me.
Motorola has a proprietary GPS API, which is available on some of its devices, most notably the IDEN phones. I have worked with the GPS API on the Motorola i88 and it is not hard to use at all, no certificates needed.
There is a standart API, under JSR 179, but it is relatively new and I don't know if there are J2ME phones that implement it. May be some of the newer Motorola models have it. You should check at http://www.motocoder.com
Hello Yuri, Can you please tell me where I can download the lib for JSR 179? I'm trying the location API on Sprint phone and I'm unable to detect the javax.microedition.Location . It is not being detected. Is there some kind of extra lib file that I need to install?
You can get the Location API from www.jcp.org. There is a text box 'Go to JSR'; just type 179, click enter and it will take you to the page of the Location JSR. This however is just the API specification; uploading it on phones will not enable it, because the phone needs to have a GPS chip in order for this to work. Apart from having a GPS chip the phone needs to provide implementation of the Location API. To say it short, if it doesn't say in the Java spec of the phone that it supports the Location API, you can't do anything to enable it. [ March 10, 2005: Message edited by: Yuri Magrisso ]
I checked the Motorola SDK and the only API that I found was for the JSR 179 in the A.3 emulator. The emulator doesn't seem to support the A1000 and according the Dev Guide for A1000, the phone seems to use the proprietary Motorola Location API.
The A1000 is a Symbian device and it may be that the tools for java development are part of its Symbian SDK.