无法在android中以编程方式发送短信

时间:2014-09-20 21:36:18

标签: android smsmanager

您好我是一个新的Android开发者。我正在尝试通过Android内置服务发送短信 SmsManager类我的代码运行准确但是通过它发送的消息没有收到其他号码。我的代码如下

      btnSend.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            String ph=et1.getText().toString();
            String text=et2.getText().toString();
            try{
            SmsManager sms=SmsManager.getDefault();
            sms.sendTextMessage(ph,null, text,null,null);
            Toast.makeText(getApplicationContext(), "sent", Toast.LENGTH_SHORT).show();
            }
            catch(Exception e)
            {
                Toast.makeText(getApplicationContext(), "Message not sent", Toast.LENGTH_SHORT).show();
            }

        }
    });

3 个答案:

答案 0 :(得分:1)

  • 请检查以下许可

    android.permission.SEND_SMS

答案 1 :(得分:0)

你有权限吗? android.permission.SEND_SMS?如果要发送消息,则必须添加它。 试试这段代码:http://blogs.wrox.com/article/sending-sms-messages-programmatically-in-your-android-application/

答案 2 :(得分:0)

这在我的应用中非常完美

btnSend.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

    sendSMS("YOURNUMBER", Integer.toString(scaleFactor));
    Toast toast = Toast.makeText(getApplicationContext(),"Sending msg...", Toast.LENGTH_SHORT);
    toast.show();
    }
});

private void sendSMS(String phoneNumber, String message) {
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, null, null);
}

和Manifest:

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