好的,我现在已经尝试了一切。我想做的只是发送一条短信。但是当我尝试时出现此错误:

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上。我希望我能正确格式化数字。我也尝试过包括国家代码,但是问题是相同的。哦,是的,消息只有一个字符长,所以问题不可能是它太长。并且scAddress和PendingIntents应该允许为空。

我的想法不多了。我唯一想到的是数字格式错误,或者S2 OS中存在大量错误。

有任何想法吗?

最佳答案

好,问题解决了。我将手机更新为Android 4.1.2(以前使用ICS),现在可以正常使用了。我没有修改代码。因此,显然操作系统本身存在问题。

10-07 19:20
查看更多