簡體   English   中英

如何使用pushregistry讀取j2me midlet中收到的消息?

[英]How to read recieved messages in j2me midlet using pushregistry?

我不知道如何使用J2ME midlet讀取移動設備中收到的消息。實際上我一直在使用短信網關將消息發送到其他手機。短信網關回復同一個移動設備,但我想閱讀回復消息設備直接,而不是檢查inbox。如何使用PushRegistry概念在j2me midlet中執行此操作。請為我提供好主意或示例代碼...在此先感謝。

您應該使用PushRegistry機制。 為此,您應在.jad文件中標記您的應用程序對傳入的SMS做出反應並標記SMS權限。 將這些屬性放到JAD文件中:

MIDlet-Push-1: sms://:10214,hu.bute.daai.example.sms.MidletSMSPushDemo,*
MIDlet-Permissions: javax.microedition.io.PushRegistry, javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.receive

請注意,您應該使用自己的包和MIDlet名稱 除此之外,您應該使用與JAD中定義的SMS發送相同的端口 (示例中為10214)。

在你的MIDlet啟動之后,你應該撥打你的短信收件人代碼來獲取短信:

public class MidletJSMSProxy extends MIDlet {
    public void startApp() {
        initalize();
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void initSMSReceive() {
        new Thread() {
            public void run() {
                MessageConnection conn = null;
                try {
                    String url = "sms://:10214";
                    MessageConnection conn = (MessageConnection) Connector.open(url);
                     TextMessage message = (TextMessage)conn.receive();
                    System.out.println("SMS: "+message.getAddress()+" - "+message.getPayloadText());
                }
                catch(Exception e){
                    e.printStackTrace();
                } finally {
                    try {
                        if (conn != null)
                            conn.close();
                    } catch(Exception e){
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }
}

更多信息: http//www.developer.nokia.com/Community/Wiki/How_to_launch_a_MIDlet_remotely_via_SMS_or_locally_via_an_Alarm_with_PushRegistry_in_Java_ME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM