SmsManagerのsendDataMessage()
メソッドに問題があります。
2 つの GSM エミュレータ間でデータ SMS を送信すると、少なくとも部分的には機能しているように見えますがNullPointerException
、Verizon CDMA 電話で同じ方法を使用するとエラーが発生します。
同様のバグレポートへのリンクを見つけました:
「SmsManager.sendDataMessage() は、成功するためのコード パスがないため、CDMA デバイスでは常に失敗します。失敗は、com.android.internal.telephony.cdma.sms.BearerData.encodeEmsUserDataPayload() のラジオ ログで確認できます。 CodingException をスローします。」
しかし、CDMA 電話で同様のことを行うための回避策を誰かが見つけたのではないかと思っています。