我只是想在j2me中使用手机信号塔找到位置名称。
此外,如何将来电重定向到我们自己的应用程序,从正常呼叫信息中向用户显示来电号码?
[截至目前有人打电话给某人显示手机号码时],
我想通过他/她的手机号码向呼叫接收者显示呼叫者的位置。
答案 0 :(得分:5)
该小区信息由小区塔广播为CBS(小区广播服务)消息,并且由大多数服务提供商在某些预定义信道(通常为050)上连接到该塔的所有GSM电话接收。因此,我们的Java ME应用程序可以使用Push Registry监听此CBS频道并捕获此信息。
按照步骤
导入库
import javax.wireless.messaging.*;
import javax.microedition.io.PushRegistry;
注册Midlet以收听CBS端口50并设置消息监听器
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();}
}
}
检索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
}
答案 1 :(得分:1)
当设备未处于3G模式时,@ Lucifer的方法将在某些网络上显示您自己的当前Cell ID信息。我只是想在j2me中使用手机信号塔找到位置名称。
此外,如何将来电重定向到我们自己的应用程序,从正常呼叫信息向用户显示来电号码?
[截至目前有人打电话给某人显示手机号码时],
在J2ME中不可能。
我想通过他/她的手机号码向呼叫接收者显示呼叫者的位置。
根本不可能!您的手机ID是指您的位置,而不是来电者的位置。即使有一种方法可以将来电信息路由到J2ME应用程序,您可以显示的只是国家/地区信息(例如,开头的数字+44绝对是英国),如果数字是固定电话,则有些高级别的位置信息(例如,开头是+441234的数字是英国贝德福德)。