2

我正在编写一个应用程序,该应用程序允许用户使用预先写好的文字即时给某人发短信,说他们回家会迟到。

只是一个有趣的应用程序的未成年人,它可能对那些父母对孩子的位置和时间有强迫症的孩子有用。

    @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 行上显示了一个 NPE

我的猜测是常量.num。但是我知道号码本身的保存很有趣,并且只有在我按下按钮发送文本时才会停止工作。

有什么想法有什么问题以及如何解决吗?

4

1 回答 1

0

我是这样做的:

1.manifest里面的权限

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

2.点击发送按钮

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

就您而言,我怀疑constants.num。确保
1.constants不为空
2.constants.num不为空且有效String

于 2013-11-25T07:28:49.457 回答