2011-07-06 73 views
2

我在寫一個Android應用程序,它允許在兩個設備之間進行調用和響應。我目前使用sendMultipartTextMessage發送超過160個字符的消息。但收到的信息不是我發送的信息。sendMultipartTextMessage發送亂碼消息

String response = "abcd abcd abcd abcdabcd abcd abcd abcd abcd...to 300 chars"; 
    Log.i("response",response); 

    SmsManager sms = SmsManager.getDefault(); 
    ArrayList<String> parts = sms.divideMessage(response); 

    for (String part : parts) { 
     Log.i("part",part); 
    } 

    sms.sendTextMessage(sender, null, "This should be normal", null, null); 


    sms.sendMultipartTextMessage(sender, null, parts, null, null); 

Log.i按預期方式運行並輸出部分消息。 sendTextMessage也將正確的SMS發送到我的合作伙伴模擬器。然而,sendMultipartTextMessage發送的部分都翻譯得很奇怪。例如,上面的response將會以「BEGIABEGIABEGIABEGIA ...」的形式收到,等等,對於空格和數字有一些小的變化。

是什麼導致sendMultipartTextMessage亂碼?

回答

0

當您從任何模擬器運行您的android應用程序時,sendMultipartTextMessage方法無法正常工作。
所以你需要在實際的android智能手機上測試你的android應用程序。還有一件事要考慮的是,在發送短信時,總是會傳遞null作爲第三個第二個參數(包含發送者電話號碼的字符串),否則代碼將不會發送短信。

我希望這會幫助你。