我正在开发一个我很喜欢使用短信服务的应用程序。当我尝试发送短信时,我得到以下奇怪的异常。有时短信发送绝对正常,但有时我得到这个例外。我不知道问题出在哪里。以下是我的代码:
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)
感谢任何帮助...
答案 0 :(得分:0)
如果短信发送号码为空,则可以来。
答案 1 :(得分:0)
我认为问题在于你的字符串的编纂......同样的问题在这里。我正在测试,当我发送一个简单的字符串为“asadsdasd”
时,我不会收到错误答案 2 :(得分:0)
当我尝试将测试产品用于应用内结算时,我遇到了类似的错误,但我的草稿版本尚未上市。
我在想的是操作系统无法绑定您的服务。碰巧的是,您使用的服务是基于操作系统的服务,用于联系信息,但您尝试使用的服务无法有效地到达。
答案 3 :(得分:0)
我发现了另一个获得此消息的理由。 如果您在邮件中使用非ascii字符(例如U + 02BC),则也会抛出此NPE。