-2

次のコードが電話でのすべての操作をフリーズさせるのはなぜですか? アプリは着信 SMS を読み取りますが、アプリは開きません。アプリをクリックした直後に、電話がフリーズします。私は何を間違っていますか。助けていただければ幸いです。

try {  
   //A DatagramConnection is created to listen for any incoming sms's.
   DatagramConnection _dc =
      (DatagramConnection)Connector.open("sms://"); 

   Datagram d = _dc.newDatagram(_dc.getMaximumLength());  

   _dc.receive(d);                             
   byte[] bytes = d.getData();
   String address = d.getAddress(); //The address of the sms is put on a string.
   String msg = new String(bytes); //The body of the sms is put on a string. 
} catch (Exception me) {

}  
4

1 に答える 1

3

スレッド内でコードを実行します(これは私が書いた中で最悪のコードです):

new Thread() {
    public void run() {
        DatagramConnection _dc =
        (DatagramConnection)Connector.open("sms://"); //A DatagramConnection is created to listen for any incoming sms's.

        Datagram d = _dc.newDatagram(_dc.getMaximumLength());  

        _dc.receive(d);                             
        byte[] bytes = d.getData();
        String address = d.getAddress(); //The address of the sms is put on a string.
        String msg = new String(bytes); //The body of the sms is put on a string.
    }
}.start();
于 2012-07-10T10:51:05.907 に答える