簡體   English   中英

如何在J2ME中攔截SMS

[英]how to intercept an SMS in J2ME

早上好,我有以下代碼:

int numero = 22492;
String  PhnNoStr = String.valueOf (numero);
String transaction = WriteText(tipoTransacao);
String SmsStr = "ECART" + "" + transaction + idToken;
System.out.println ("Message:" + smsStr);
MessageConnection msgCon = null;
msgCon = (MessageConnection) Connector.open ("sms :/ /" + + phnNoStr ": 500");
TextMessage TxtMsg = (TextMessage) msgCon.newMessage (MessageConnection.TEXT_MESSAGE);
txtMsg.setPayloadText (smsStr);
msgCon.send (TxtMsg);

因此,默認情況下,我發送該消息會返回一條消息。 我可以發送和接收此消息,但是當我收到此消息時需要攔截,有人知道我該怎么做嗎?

謝謝

當收到SMS且未運行Midlet時,可以使用PushRegistry啟動Midlet。

PushRegistry.registerConnection("sms://:500", "your_package.Your_MIDlet", "*");

要處理傳入的SMS,您需要打開連接並偵聽傳入的消息,例如:

class SMSHandler implements MessageListener, Runnable {
    public void start() {
        ...
        connection = (MessageConnection) Connector.open("sms://:500", Connector.READ);
        connection.setMessageListener(this);
    }

    public void notifyIncomingMessage(MessageConnection messageConnection) {
        (new Thread(this)).start();
    }

    public void run() {
        final Message message = connection.receive();
        ...
    }

(在另一個線程中處理消息的原因是,不應在系統回調中執行阻止I / O的操作-至少WTK仿真器將打印警告,而在某些手機上,midlet只會凍結)。

暫無
暫無

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

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