代码运行但不发送短信

时间:2013-05-21 21:18:36

标签: java android

我正在尝试发送短信。代码运行但不发送任何SMS。没有错误。请指导一定出错的地方。

package com.example.smsbomber;


import android.app.Activity;

import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sendSMS();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void sendSMS() {
        String phoneNumber = "00923002228885";
        String message = "Hello World!";

        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNumber, null, message, null, null);
    }
}   

2 个答案:

答案 0 :(得分:0)

请尝试使用此代码:

SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";

sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);

sms.sendTextMessage(phoneNumber, null, message, sentPI, null);

取自here.

答案 1 :(得分:0)

检查您的号码一次。我想你应该尝试从你的手机号码中删除“00”。使用try-catch()来逃避错误。只使用“923002228885”或者如果你还没有得到消息,那么删除“92”也像“3002228885”。

我在3天前尝试了这个并且它对我来说工作正常。但是请记下它,我没有成功发送超过160个字符的消息,但是在不到160个字符中它工作正常。

try {
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(String.valueOf(sender_PhoneNo),null, your_sms, null, null);
        Toast.makeText(getApplicationContext(),"SMS Sent!", Toast.LENGTH_LONG).show();
    } catch (Exception e) {
        Toast.makeText(getApplicationContext(),"SMS faild, please try again later!",Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }

我使用此link作为参考。

希望它会对你有所帮助。