2011-07-06 18 views
2

私は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はSMSを壊す原因は何ですか?

答えて

3

プラットフォームのバグ:http://code.google.com/p/android/issues/detail?id=13737を参照してください。それはシミュレータに限られている可能性がありますので、実際のデバイスで試してみてください。あなたが任意のシミュレータからあなたのAndroidアプリケーションを実行すると

0

sendMultipartTextMessageメソッドが正しく動作しません。
実際のアンドロイドスマートフォンでアンドロイドアプリケーションをテストする必要があります。考慮すべきもう1つのことは、SMSを送信している間は常に第3の第2引数(送信者の電話番号を含む文字列)としてnullを渡します。そうでなければコードはSMSになりません。

これがあなたに役立つことを願っています。

関連する問題