-1

を使用してバイナリデータを特定のポートに送信するコードを書いていますがsendDataMessage()、120バイトまでの少量のデータしか送信できません。

大量のデータ (130 バイト以上) を送信すると、Nullpointer例外がスローされます。

その理由と、大量のデータを送信するにはどうすればよいですか?

4

2 に答える 2

1

許可されている最大メッセージサイズに達していると思います。

参照: http: //en.wikipedia.org/wiki/SMS#Message_sizeおよびhttp://en.wikipedia.org/wiki/Concatenated_SMS

NullPointerExceptionはあまり意味がありませんが、それがまさにその通りだと思います。

http://code.google.com/p/android/issues/detail?id=3718

于 2012-04-05T09:04:13.720 に答える
0

ここにアクセスしてください:
http://groups.google.com/group/android-developers/browse_thread/thread/3b8dc90cdc701f49/247db39ee62354c2?pli=1

「Justin(Google Employee)」による 3 番目の応答を参照してください。

彼は次のように述べています。

SMS 経由で送信されるデータ メッセージの長さには制限があります (実際には 133 バイト)

130 バイトで問題が発生していますが、これは明らかに彼が述べたものと同じではありませんが、データ メッセージが制限されているという事実だけに違いありません。これは、特定のポートに送信できるように、通常の SMS メッセージとは異なるエンコードが必要なためだと思います。

于 2012-04-05T08:59:09.243 に答える