我试图弄清楚如何从我的应用程序发送短信。我尝试了以下方法:

try {
    String newNumber, newMessage;
    newNumber = number.getText().toString();
    newMessage = message.getText().toString();
    smsManager.getDefault();
    smsManager.sendTextMessage(newNumber, null, newMessage,null, null);

    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
     }
    }
}
    };thread.start();


但是我得到了这样的日志猫:


  07-23 09:03:42.378:I / Process(14426):发送信号PID:14426 SIG:
  9 07-23 09:06:18.972:W / dalvikvm(14529):threadid = 11:线程退出
  具有未捕获的异常(group = 0x40a381f8)07-23 09:06:18.972:
  E / AndroidRuntime(14529):致命异常:Thread-885 07-23
  09:06:18.972:E / AndroidRuntime(14529):java.lang.NullPointerException
  07-23 09:06:18.972:E / AndroidRuntime(14529):at
  com.johnnydicamillo.sms.SmsSpammerActivity $ 1.run(SmsSpammerActivity.java:48)
  07-23 09:06:19.238:W / IInputConnectionWrapper(14529):showStatusIcon
  在非活动InputConnection上07-23 09:06:44.855:I / Process(14529):
  正在发送信号。 PID:14529 SIG:9

最佳答案

看起来smsManager可能为null,getDefault()是用于获取SmsManager的默认实例的静态方法,它并不表明您在设置任何内容。您可能希望该行类似于:

SmsManager smsManager = SmsManager.getDefault();

10-08 07:24
查看更多