2012-09-04 1 views
2

Je travaille sur le codage d'une application qui permettra à un utilisateur de texto quelqu'un à la volée avec un texte pré-écrit disant qu'ils seront en retard à la maison.Null point Message texte

Juste une mineure pour le plaisir de l'application qui pourrait être utile pour les enfants dont les parents sont OCD sur l'endroit où les enfants sont et quand.

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

Stacktrace:

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) 

Il y a un NPE montrant sur la ligne sms.sendTextETC

Je pense serait pour le constant.num. Cependant, je sais que le numéro lui-même est enregistré juste amusant et cela ne cesse de fonctionner lorsque j'appuie sur le bouton pour envoyer le texte.

Toutes les idées quoi de mal et comment y remédier?

+4

montrer votre stacktrace exacte –

+0

ne vous ai pas essayer d'enregistrer les valeurs des différentes variables, pour savoir lequel est nul? –

+0

Désolé de prendre si longtemps pour revenir occupé la majeure partie de la journée, poster ici dans une seconde. – CodeMonkeyAlx

Répondre

0

Voici comment je l'ai fait:

1.Permission intérieur manifeste

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

2.Sur envoyer bouton cliquez sur

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

Dans votre cas, je doute sur constantes. num. Assurez-vous,
1. constants est non nul
2. constants.num est non nul et est valide String

Questions connexes