2011-06-29

在 Android 裡傳送簡訊

程式很簡單,只要簡單的兩行就可以了。
SmsManager mgr = SmsManager.getDefault();
mgr.sendTextMessage(phoneNumber, null, smsMessage, null, null);
另外要授予 android.permission.SEND_SMS 的權限。

在 Emulator 裡測試簡訊:
  • 程式傳給 Emulator - 另外開啟一個 Emulator,在 Emulator 視窗的標題列可以看到一個數字,這是這個 Emulator 使用的 port,也可以作為這個 Emulator 的電話號碼,所以只要在上述程式裡的電話號碼輸入另一個 Emulator 的 port 值就可以了,但是不能自己傳給自己,所以一定要另外開啟一個 Emulator。
  • Emulator Control 傳給 Emulator - 在 Eclipse 裡的 Emulator Control 可以找到 Telephony Actons,輸入接收端的號碼、勾選 SMS、輸入訊息就可以了。
  • 當然可以用 Emulator 傳給 Emulator。

想知道簡訊送出去了沒?
剛使用的 sendTextMessage() 最後兩個參數分別為 PendingIntent sent 與 PendingIntent delivery,只要提供這兩個 PendingIntent,Android 在傳送簡訊成功(或失敗)後會送出 Broadcast,至於 sent 與 delivery 有什麼差別?不是很清楚。

沒有留言:

張貼留言