を使用してバイナリデータを特定のポートに送信するコードを書いていますがsendDataMessage()
、120バイトまでの少量のデータしか送信できません。
大量のデータ (130 バイト以上) を送信すると、Nullpointer
例外がスローされます。
その理由と、大量のデータを送信するにはどうすればよいですか?
を使用してバイナリデータを特定のポートに送信するコードを書いていますがsendDataMessage()
、120バイトまでの少量のデータしか送信できません。
大量のデータ (130 バイト以上) を送信すると、Nullpointer
例外がスローされます。
その理由と、大量のデータを送信するにはどうすればよいですか?
許可されている最大メッセージサイズに達していると思います。
参照: http: //en.wikipedia.org/wiki/SMS#Message_sizeおよびhttp://en.wikipedia.org/wiki/Concatenated_SMS
NullPointerExceptionはあまり意味がありませんが、それがまさにその通りだと思います。
ここにアクセスしてください:
http://groups.google.com/group/android-developers/browse_thread/thread/3b8dc90cdc701f49/247db39ee62354c2?pli=1
「Justin(Google Employee)」による 3 番目の応答を参照してください。
彼は次のように述べています。
SMS 経由で送信されるデータ メッセージの長さには制限があります (実際には 133 バイト)
130 バイトで問題が発生していますが、これは明らかに彼が述べたものと同じではありませんが、データ メッセージが制限されているという事実だけに違いありません。これは、特定のポートに送信できるように、通常の SMS メッセージとは異なるエンコードが必要なためだと思います。