5

SmsManagersendDataMessage()メソッドに問題があります。

2 つの GSM エミュレータ間でデータ SMS を送信すると、少なくとも部分的には機能しているように見えますがNullPointerException、Verizon CDMA 電話で同じ方法を使用するとエラーが発生します。

同様のバグレポートへのリンクを見つけました:

「SmsManager.sendDataMessage() は、成功するためのコード パスがないため、CDMA デバイスでは常に失敗します。失敗は、com.android.internal.telephony.cdma.sms.BearerData.encodeEmsUserDataPayload() のラジオ ログで確認できます。 CodingException をスローします。」

しかし、CDMA 電話で同様のことを行うための回避策を誰かが見つけたのではないかと思っています。

4

1 に答える 1

0

このコードは、GSM と CDMA の両方で正常に機能します。

String sms = message.getText().toString();

            if(PhoneNumberUtils.isWellFormedSmsAddress(dest))
            {
                for(String contact:multiContact)
                {
                    smsManager.sendTextMessage(contact, null, sms, null, null);
                    Toast.makeText(SampleSms.this, "SMS messgae Sent to"+contact, Toast.LENGTH_LONG).show();
                }

            }
            else
            {
                Toast.makeText(SampleSms.this, "SMS messgae Sent failed", Toast.LENGTH_LONG).show();
            }

私も使用sendDataMessage()していましたが、エラーが発生しました。しかし、上記のコードは正常に動作しています

于 2011-06-29T05:12:41.250 に答える