2012-07-24 51 views
2

我只想在j2me中使用手機塔找到位置名稱。如何在J2ME中使用單元塔查找用戶位置?

怎麼也來電對我們自己的應用程序重定向從哪裏主叫號碼顯示給用戶像正常的呼叫信息?

[截至目前,當有人呼叫某人顯示的手機號碼,]

我想顯示呼叫的呼叫者的位置與他/她的手機號碼的接收器。

+0

您的意思是區域名稱(cellinfo)? – Lucifer 2012-07-24 10:29:49

+0

是的,區域名稱(小區信息)只有 – 2012-07-24 11:01:12

回答

4

該小區信息被廣播由蜂窩塔CBS(小區廣播服務)消息,並通過由大多數服務供應商的連接到該塔於某些預定義的信道(通常050)的所有GSM手機接收。因此,我們的Java ME應用程序可以使用Push Registry來收聽此CBS頻道並捕獲此信息。

按照以下步驟,

  1. 導入庫

    import javax.wireless.messaging.*; 
    import javax.microedition.io.PushRegistry; 
    
  2. 註冊你的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();} 
        } 
    } 
    
  3. 來檢索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    
    } 
    
+0

感謝您的帖子,我是非常新的人j2mee,我也想重定向,如果有任何來電向用戶的上述應用程序調用,並顯示用戶的來電號碼和來自他/她所呼叫的小區信息。感謝您的耐心和您的文章再次 – 2012-07-24 11:40:39

+0

+ 1使用PushRegistry與cbs協議,雖然我同意@funkybro它可能實際上不是正確的答案。 – 2012-07-24 17:12:27

+0

實際參數HelloWorldMidlet無法通過方法調用轉換 在此行中轉換爲javax.wireless.messaging.MessageListener msgconn.setMessageListener(this); – 2013-02-21 08:20:33

1

我只是想在J2ME中使用手機信號塔,找到位置名稱。

@當設備未處於3G模式時,Lucifer的方法將顯示您當前在特定網絡上的當前Cell ID信息。

此外如何將來電重定向到我們自己的應用程序,從主叫方號碼顯示給用戶,就像正常的呼叫信息一樣?

[截至目前當有人呼叫某人正在示出的移動電話號碼,]

不可能在J2ME。

我想向他的手機號碼顯示主叫方的位置。

根本不可能!您的手機號碼是指您的位置,而不是來電者的位置。即使有將來電信息路由到J2ME應用程序的方式,您只能顯示國家信息(例如,從+44開始的數字肯定是英國),並且如果該數字是陸地線路,則某些高位置信息(例如,從+441234開始的號碼是英國貝德福德)。


+0

很好的解釋,謝謝你的信息。 – 2012-07-25 06:42:02

相關問題