Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發之SmsManager(短信管理器)詳解

Android開發之SmsManager(短信管理器)詳解

編輯:關於Android編程

SmsManager是Android提供的另一個非常常見的服務,SmsManager提供了系列sendXxxMessage()方法用於發送短信。

SmsManager:管理短信操作,如發送數據,文本和PDU短信。通過調用靜態方法SmsManager.getDefault()獲取此對象。

Public Methods

ArrayList

divideMessage(String text)

當短信超過SMS消息的最大長度時,將短信分割為幾塊。

static SmsManager

getDefault()

獲取SmsManager的默認實例。

void

sendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

發送一個基於SMS的數據到指定的應用程序端口。

void

sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList parts, ArrayList sentIntents, ArrayList deliveryIntents)

發送一個基於SMS的多部分文本,調用者應用已經通過調用

divideMessage(String text)將消息分割成正確的大小。

void

sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

發送一個基於SMS的文本。

說明:

· ArrayList divideMessage(String text)
當短信超過SMS消息的最大長度時,將短信分割為幾塊。
參數text——初始的消息,不能為空
返回值:有序的ArrayList,可以重新組合為初始的消息

· static SmsManager getDefault()
獲取SmsManager的默認實例。
返回值SmsManager的默認實例

· void SendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data,PendingIntent sentIntent, PendingIntent deliveryIntent) 發送一個基於SMS的數據到指定的應用程序端口。
參數
1)、destinationAddress——消息的目標地址
2)、scAddress——服務中心的地址or為空使用當前默認的SMSC 3)destinationPort——消息的目標端口號
4)、data——消息的主體,即消息要發送的數據
5)、sentIntent——如果不為空,當消息成功發送或失敗這個PendingIntent就廣播。結果代碼是Activity.RESULT_OK表示成功,或RESULT_ERROR_GENERIC_FAILURE、RESULT_ERROR_RADIO_OFF、RESULT_ERROR_NULL_PDU之一表示錯誤。對應RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括額外的“錯誤代碼”包含一個無線電廣播技術特定的值,通常只在修復故障時有用。
每一個基於SMS的應用程序控制檢測sentIntent。如果sentIntent是空,調用者將檢測所有未知的應用程序,這將導致在檢測的時候發送較小數量的SMS。
6)、deliveryIntent——如果不為空,當消息成功傳送到接收者這個PendingIntent就廣播。
異常:如果destinationAddressdata是空時,拋出IllegalArgumentException異常。

· void sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList parts,ArrayList sentIntents,ArrayList deliverIntents)
發送一個基於SMS的多部分文本,調用者應用已經通過調用divideMessage(String text)將消息分割成正確的大小。
參數
1)、destinationAddress——消息的目標地址
2)、scAddress——服務中心的地址or為空使用當前默認的SMSC
3)、parts——有序的ArrayList,可以重新組合為初始的消息
4)、sentIntents——跟SendDataMessage方法中一樣,只不過這裡的是一組PendingIntent
5)、deliverIntents——跟SendDataMessage方法中一樣,只不過這裡的是一組PendingIntent
異常:如果destinationAddressdata是空時,拋出IllegalArgumentException異常。

· void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent,PendingIntent deliveryIntent)
發送一個基於SMS的文本。參數的意義和異常前面的已存在的一樣,不再累述。

關於SmsManager的應用實例大家可以參照:Android開發之發送短信

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved