How to get cell information in Java ME using CBS
jimgilmour1
(Talk | contribs) m (put in correct category [How To]) |
(Add newer S40 devices that support CBS) |
||
| Line 67: | Line 67: | ||
== Note == | == Note == | ||
WMA 120/205 does not support CBS on most of the Nokia S40 devices, it works on Nokia S60 and other devices. | WMA 120/205 does not support CBS on most of the Nokia S40 devices, it works on Nokia S60 and other devices. | ||
| + | |||
| + | The support for receiving CBS messages has been introduced in newer Series 40 5th Edition, Feature Pack 1 devices, all Series 40 5th Edition, Feature Pack 1 Lite devices and all Series 40 6th Edition devices. | ||
--Submitted by [http://discussion.forum.nokia.com/forum/member.php?u=353910 Amitabh Srivastava] at 16:10(IST), 27 August 2009. | --Submitted by [http://discussion.forum.nokia.com/forum/member.php?u=353910 Amitabh Srivastava] at 16:10(IST), 27 August 2009. | ||
Revision as of 08:18, 21 June 2010
Article Metadata
Tested with
Compatibility
Article
Problem
How to capture the Cell Info, which is displayed on the home screen of most of the GSM phones, if you set the Cell Info Display: ON in your phone settings. Cell info provides some (area)location related text info about the cell tower our device is present at the moment, along with some service providers advertisements. We don't have direct API in Java ME to capture this Cell Info from our application.
Solution
This Cell info is broadcasted as CBS (Cell Broadcast Service) message by the cell towers and received by all the GSM phones connected to this tower on certain predefined Channel (generally 050) by most of the service providers. Thus our Java ME application can listen to this CBS Channel using Push Registry and capture this information
Sample Code
Imports
import javax.wireless.messaging.*;
import javax.microedition.io.PushRegistry;
setupListening
Register your Midlet for Listening to CBS port 50 and setup a Message Listener
public void setupListening()
{
try{
PushRegistry.registerConnection("cbs://:50",this.getClass().getName(),"*");
}catch(Exception e){}
String[] connList;
connList = PushRegistry.listConnections(true);
if((connList == null) || (connList.length == 0))
{
// You can exit the app, if you want
}
else
{
try{
msgconn = (MessageConnection)Connector.open("cbs://:50");
msgconn.setMessageListener(this);
} catch( IOException e){ e.printStackTrace();}
}
}
notifyIncomingMessage
To Retrieve the CBS message payload.
Note
WMA 120/205 does not support CBS on most of the Nokia S40 devices, it works on Nokia S60 and other devices.
The support for receiving CBS messages has been introduced in newer Series 40 5th Edition, Feature Pack 1 devices, all Series 40 5th Edition, Feature Pack 1 Lite devices and all Series 40 6th Edition devices.
--Submitted by Amitabh Srivastava at 16:10(IST), 27 August 2009.

