4

我正在开发一个我必须使用 SMS 服务的应用程序。当我尝试发送短信时,出现以下奇怪的异常。有时 SMS 发送得非常好,但有时我会收到此异常。我不知道问题出在哪里。以下是我的代码:

 String messageText = Util.getSMSText(myActivity.this, Util.CurrentLocation);
 messageText += "http://maps.google.com/maps?q=" + locationInfo.getLat() + "," + locationInfo.getLng();
 String number = guardian.getGuardianNumber();
 SmsManager smsManager = SmsManager.getDefault();
 smsManager.sendTextMessage(number, null, text, null, null);  

以下是跟踪:

12-22 21:03:59.325: W/System.err(8140):     java.lang.NullPointerException
12-22 21:03:59.325: W/System.err(8140):     at android.os.Parcel.readException(Parcel.java:1328)
12-22 21:03:59.325: W/System.err(8140):     at android.os.Parcel.readException(Parcel.java:1276)
12-22 21:03:59.325: W/System.err(8140):     at com.android.internal.telephony.ISms$Stub$Proxy.sendTextOnSubscription(ISms.java:1096)
12-22 21:03:59.325: W/System.err(8140):     at android.telephony.SmsManager.sendTextMessage(SmsManager.java:149)
12-22 21:03:59.325: W/System.err(8140):     at android.telephony.SmsManager.sendTextMessage(SmsManager.java:89)
12-22 21:03:59.335: W/System.err(8140):     at com.invocode.sms.SMSManager.sendSMS(SMSManager.java:12)
12-22 21:03:59.335: W/System.err(8140):     at com.invocode.ui.iamhere.myActivity$2$2.onClick(myActivity.java:205)

任何帮助表示赞赏...

4

4 回答 4

0

当我尝试使用测试产品进行应用内计费时,我遇到了类似的错误,但我的草稿版本尚未上市。

我在想的是操作系统无法绑定您的服务。碰巧您正在使用的服务是基于操作系统的联系信息服务,但您尝试使用的服务无法有效访问。

于 2013-04-08T14:25:35.883 回答
0

我认为问题在于您的字符串的编码......这里有同样的问题。我正在测试,当我发送一个简单的字符串作为“asadsdasd”时我没有收到错误

于 2013-01-15T11:55:40.113 回答
0

我找到了另一个收到此消息的原因。如果您在消息中使用非 ascii 字符(例如 U+02BC),也会抛出此 NPE。

于 2013-11-21T22:11:24.777 回答
0

如果短信发送号码为空,它可以来。

于 2012-12-31T16:05:56.063 回答