×
Namespaces

Variants
Actions
Revision as of 15:43, 16 August 2013 by lpvalente (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como capturar informações do sistema celular

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Compatibilidade
Plataforma(s):
Symbian

Artigo
Tradução:
Por thiagobrunoms
Última alteração feita por lpvalente em 16 Aug 2013

Este artigo mostra como obter informações do sistema celular usando o Cell Broadcast Service (CBS).

Contents

Problemática

Como capturar informações de células de torres telefônicas, as quais podem ser visualizadas na tela de muitos celulares GSM. A informação de uma célula provê algumas informações (normalemnte da área) da torre em que o dispositivo atualmente está conectado, além de anúncios de provedores de serviços. Java ME não provê nenhuma API que acesse diretamente estas informações através da aplicação.

Solução

As informações de uma célula são enviadas como mensagens CBS (Cell Broadcast Service) através das torres celulares e recebidas por todos os celulares conectados à torre em um certo canal (normalmente 050) pela maioria dos servidores de serviços. Assim, nossa aplicação Java ME pode registrar-se a eventos no canal CBS utilizando Push Registry e consequentemente obter tais informações.

Exemplo

import javax.wireless.messaging.*;
import javax.microedition.io.PushRegistry;

Registrando

Registrando uma MIDlet para receber mensagens CBS na porta 50 e configurando um 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))
{
// Pode-se fechar a aplicação em caso de erro
}
else
{
try{
msgconn = (MessageConnection)Connector.open("cbs://:50");
msgconn.setMessageListener(this);
} catch( IOException e) {
e.printStackTrace();}
}
}

Notificando mensagens

Recuperando as informações de uma mensagem CBS

public void notifyIncomingMessage(MessageConnection conn)
{
try{
txtmsg =(TextMessage)msgconn.receive();
}catch(Exception e){
System.out.println(e);
}
 
from = txtmsg.getAddress());
Msg = txtmsg.getPayloadText();
// Display from & Msg
}

Observações

O WMA 120/205 não pode usar CBS em diversos dispositivos Nokia Series 40, apenas Nokia S60 e outros.

This page was last modified on 16 August 2013, at 15:43.
78 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×