2012-09-04 2 views
2

나는 사용자가 늦은 시간에 집에 도착할 것이라고 말하는 미리 쓰여진 텍스트로 비행 중에 누군가를 문자 메시지로 보낼 수있는 응용 프로그램을 작성하는 중입니다.null 포인트 문자 메시지

부모님의 아이에게 유용 할 수있는 앱의 재미를위한 단지 미성년자는 아이들의 위치와 시간에 대한 강박 관념입니다.

@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) 

내 생각 엔이 constant.num이 될 것 sms.sendTextETC 라인에 최대 보여주는 NPE 있습니다. 그러나 그 자체가 숫자 자체가 저장된다는 것을 알고 있으며이 버튼을 눌러 텍스트를 보낼 때만 작동이 멈 춥니 다.

어떤 아이디어가 잘못 되었습니까? 어떻게 수정합니까?

+4

이 –

+0

방금 ​​알아, 다른 변수의 값을 로그온을 시도하지 않았나요 정확한 스택 추적을 보여이다 어느 것이 null인가 ?? –

+0

돌아 오기까지 오랜 시간이 걸려서 죄송합니다. – CodeMonkeyAlx

답변

0

이 내가 그것을 수행하는 방법입니다

1.Permission

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

매니페스트 안에 2.On 버튼이 귀하의 경우에는

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

를 보내기, 나는 상수에 의심한다. num.
1. constants
2. constants.num가 null이 아닌 null는 아니고, 확인하고 유효한 String