2012-07-23 64 views
1

我想弄清楚如何從我的應用程序發送短信。我曾嘗試以下:你怎麼發送短信與android sdk

try { 
    String newNumber, newMessage; 
    newNumber = number.getText().toString(); 
    newMessage = message.getText().toString(); 
    smsManager.getDefault(); 
    smsManager.sendTextMessage(newNumber, null, newMessage,null, null); 

    } catch (InterruptedException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
    } 
} 
    };thread.start(); 

但我得到的日誌貓這樣的:

9月7日至23日:03:42.378:I /流程(14426):發送信號。 PID:14426 SIG: 9 07-23 09:06:18.972:W/dalvikvm(14529):threadid = 11:線程退出 帶未捕獲的異常(group = 0x40a381f8)07-23 09:06:18.972: E/AndroidRuntime(14529):致命異常:Thread-885 07-23 09:06:18.972:E/AndroidRuntime(14529):java.lang.NullPointerException 07-23 09:06:18.972:E/AndroidRuntime(14529)在 com.johnnydicamillo.sms.SmsSpammerActivity $ 1.run(SmsSpammerActivity.java:48) 07-23 09:06:19.238:W/IInputConnectionWrapper(14529):showStatusIcon on inactive InputConnection 07-23 09:06:44.855: I/Process(14529): 發送信號。 PID:14529 SIG:9

+0

先格式化您的代碼。其次,接受更多答案。第三,拋出NPE的線是什麼。 – m0skit0 2012-07-23 16:14:09

+0

smsManager.sendTextMessage(newNumber,null,newMessage, null,null);我做了格式化,但這是我的Mac所做的。 – user1502224 2012-07-23 16:16:28

+0

爲什麼讓你的主線睡覺? – TheBlueCat 2012-07-23 16:17:15

回答

1

它看起來像smsManager可以爲空,getDefault()是用於瞭解SmsManager的默認實例的靜態方法,它並不表明你進行任何設置。您可能希望該行如下所示:

SmsManager smsManager = SmsManager.getDefault();