2

わかりました、私は今すべてを試しました。私がやろうとしているのは、SMSを送信することです。しかし、試してみると次のエラーが発生します。

02-07 17:05:45.550: W/System.err(17373): java.lang.NullPointerException
02-07 17:05:45.550: W/System.err(17373):    at android.os.Parcel.readException(Parcel.java:1333)
02-07 17:05:45.555: W/System.err(17373):    at android.os.Parcel.readException(Parcel.java:1281)
02-07 17:05:45.555: W/System.err(17373):    at com.android.internal.telephony.ISms$Stub$Proxy.sendText(ISms.java:698)
02-07 17:05:45.555: W/System.err(17373):    at android.telephony.SmsManager.sendTextMessage(SmsManager.java:113)
02-07 17:05:45.555: W/System.err(17373):    at fi.juunas.paali.MainActivity.sendSMS(MainActivity.java:178)
02-07 17:05:45.555: W/System.err(17373):    at fi.juunas.paali.MainActivity.textSingle(MainActivity.java:104)
02-07 17:05:45.560: W/System.err(17373):    at fi.juunas.paali.MainActivity$1.onClick(MainActivity.java:80)
02-07 17:05:45.560: W/System.err(17373):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
02-07 17:05:45.560: W/System.err(17373):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-07 17:05:45.560: W/System.err(17373):    at android.os.Looper.loop(Looper.java:137)
02-07 17:05:45.560: W/System.err(17373):    at android.app.ActivityThread.main(ActivityThread.java:4507)
02-07 17:05:45.560: W/System.err(17373):    at java.lang.reflect.Method.invokeNative(Native Method)
02-07 17:05:45.565: W/System.err(17373):    at java.lang.reflect.Method.invoke(Method.java:511)
02-07 17:05:45.565: W/System.err(17373):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
02-07 17:05:45.565: W/System.err(17373):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
02-07 17:05:45.565: W/System.err(17373):    at dalvik.system.NativeStart.main(Native Method)

次のようなメソッドで関数を呼び出しています。

SmsManager mgr = SmsManager.getDefault();
Log.d(TAG, "Number: " + number);
Log.d(TAG, "Message: " + msg);
mgr.sendTextMessage(number, null, msg,null,null);

番号 = "0401234567" msg = "T"

問題は、これがエミュレーターで完全に機能することです。あなたが期待するように。しかし、私のGalaxy S2にはありません。数値を正しくフォーマットしていることを願っています。国コードも含めてみましたが、問題は同じです。そうそう、メッセージの長さは 1 文字しかないので、長すぎることは問題ではありません。また、scAddress と PendingIntents は null にすることが許可されている必要があります。

私はちょうどアイデアが不足しています。私の頭の中の唯一のことは、番号の形式が間違っているか、S2 OS に大きなバグがあるということです。

何か案は?

4

2 に答える 2

1

わかりました、問題は解決しました。携帯電話を Android 4.1.2 (以前は ICS を搭載していた) に更新したところ、問題なく動作するようになりました。私はコードを変更しませんでした。どうやらOS自体に問題があったようです。

于 2013-02-09T07:41:02.350 に答える
0

https://developer.android.com/reference/android/telephony/SmsManager.html#sendTextMessage(java.lang.String,%20java.lang.String,%20java.lang.String,%20android.app.PendingIntent,% 20android.app.PendingIntent)

保留中のインテントオブジェクトを送信し、それが機能しない理由を確認します。保留中のインテントオブジェクトには、次のいずれかが含まれます

RESULT_ERROR_GENERIC_FAILURE
RESULT_ERROR_RADIO_OFF
RESULT_ERROR_NULL_PDU

APIに示されているように

于 2013-02-07T15:29:39.280 に答える