2012-09-04 49 views
2

我正在编写一个应用程序,该应用程序将允许用户通过预先写好的文字说出他们即将到达家中的文本。Null point短信

只是一个未成年人的乐趣,它的应用程序,可能是有用的孩子谁的父母是强迫症有关孩子在哪里和什么时候。

@Override 
     public void onClick(View v1) { 
      // TODO Auto-generated method stub 
      SmsManager sms = SmsManager.getDefault(); 
      sms.sendTextMessage(constants.num, null, "hello world - From EMTxt", null, null); 
     } 
    }); 

堆栈跟踪:

09-05 14:36:25.821: E/AndroidRuntime(317): FATAL EXCEPTION: main 
09-05 14:36:25.821: E/AndroidRuntime(317): java.lang.NullPointerException 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.os.Parcel.readException(Parcel.java:1328) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.os.Parcel.readException(Parcel.java:1276) 
09-05 14:36:25.821: E/AndroidRuntime(317): at com.android.internal.telephony.ISms$Stub$Proxy.sendText(ISms.java:369) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.telephony.SmsManager.sendTextMessage(SmsManager.java:87) 
09-05 14:36:25.821: E/AndroidRuntime(317): at lionsimages.com.emtxt.MainActivity$1.onClick(MainActivity.java:38) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.view.View.performClick(View.java:2485) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.view.View$PerformClick.run(View.java:9080) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.os.Handler.handleCallback(Handler.java:587) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.os.Looper.loop(Looper.java:123) 
09-05 14:36:25.821: E/AndroidRuntime(317): at android.app.ActivityThread.main(ActivityThread.java:3683) 
09-05 14:36:25.821: E/AndroidRuntime(317): at java.lang.reflect.Method.invokeNative(Native Method) 
09-05 14:36:25.821: E/AndroidRuntime(317): at java.lang.reflect.Method.invoke(Method.java:507) 
09-05 14:36:25.821: E/AndroidRuntime(317): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
09-05 14:36:25.821: E/AndroidRuntime(317): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
09-05 14:36:25.821: E/AndroidRuntime(317): at dalvik.system.NativeStart.main(Native Method) 

有表示这种sms.sendTextETC线

我的猜测是对的constant.num了一个NPE。但是我知道号码本身保存得很有趣,而且只有按下按钮才能发送文本,这只会停止工作。

任何想法什么是错的,以及如何解决它?

+4

显示您的确切堆栈跟踪 –

+0

你没尝试登录不同变量的值,只是为了找出哪一个是空的? –

+0

对不起,花了这么长时间才回到最后忙于大部分时间,在这里张贴在第二。 – CodeMonkeyAlx

回答

0

这是我如何做它:

1.Permission内部清单

<uses-permission android:name="android.permission.SEND_SMS"/> 

2.1936发送按钮点击

@Override 
public void onClick(View v) { 
    SmsManager smsman=SmsManager.getDefault(); 
    smsman.sendTextMessage("+919037934301", null, "this is sms content", null, null); 
} 

在你的情况,我在常数怀疑。号码。确保, 不为空
2. constants.num不为空并且是有效String