如何處理廣播接收機中的多部分短信並將其存儲在一個字符串中,然後再對其進行開始操作,就像我想將多部分短信存儲在一個字符串中然後用不同的分隔符分割它,然後從中獲得狀態代碼,我有250個字符的1個短信。我試着用下面的代碼,但沒有工作,我在模擬器上測試它,好心幫助我,我也把代碼接收。如何在廣播接收機中處理超過160個字符(如250個字符)的短信
String mySmsText ;
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[])bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
StringBuffer content = new StringBuffer();
if (messages.length > 0) {
for (int i = 0; i < messages.length; i++) {
content.append(messages[i].getMessageBody());
}
}
mySmsText = content.toString();
}
instance.t1.setText(mySmsText);
}
}
我試圖打印味精,但它顯示不好的字符也覆蓋了舊的。
對不起,我的代碼沒有問題,問題只出現在我測試過的模擬器上。當我測試它真實的設備也工作得很好,我很抱歉......
我不知道的你有什麼問題。它是在接收時重新創建mutlipart SMS?目前的結果是什麼?我在家裏有這樣的代碼,我會盡量記住在幾個小時內檢查。 – AxelH
我試圖收到有250個字符的短信,但是當我收到短信時,它會分裂並在我的文本視圖中顯示短信。我想加入所有的信息,然後只顯示1個字符串 –
在一個意圖中收到長的SMS,這是你的'SmsMessage []消息'的內容。看到[這](http://stackoverflow.com/questions/7469881/broadcastreceiver-for-multipart-sms) – AxelH