通过Android模拟器发送短信

时间:2012-05-21 16:31:41

标签: android sms

我创建了一个Android应用程序。现在我想通过它发送短信到一个真实的手机号码...有人可以帮助我。互联网上提供的信息是在两个仿真器之间发送消息。但我想在一个真实的手机号码上发送短信...请帮我解决。

3 个答案:

答案 0 :(得分:1)

仿真器不是真正的手机,没有号码或SIM卡,因此无法从外部设备发送或接收短信。从cmd telnet,您可以使用短信发送电话号码

编辑:

 private SmsMessage[] getMessagesFromIntent(Intent intent) {
    SmsMessage msgs[] = null;
    Bundle bundle = intent.getExtras();
    try {
        Object pdus[] = (Object[]) bundle.get("pdus");
        msgs = new SmsMessage[pdus.length];
        for (int n = 0; n < pdus.length; n++) {
            byte[] byteData = (byte[]) pdus[n];
            msgs[n] = SmsMessage.createFromPdu(byteData);
        }
    }
    catch (Exception e) {
        Logger.getDefault().error("Fail to create an incoming SMS from pdus", e);
    }
    return msgs;
}

答案 1 :(得分:1)

我认为你无法从模拟器向真实设备发送短信,因为它没有任何号码。我添加了下面的代码,这将有助于从真实设备发送短信。

    PendingIntent pi = PendingIntent.getActivity(this, 0,
            new Intent(this, RoadMoveActivity.class), 0);    
    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage(sms_phonenumber, null, sms_message, pi, null);

它为我工作

答案 2 :(得分:0)

请参阅此问题,了解如何在Android模拟器How can i configure gmail in Android emulator?中设置电子邮件帐户,然后使用以下代码发送电子邮件,

  Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@yahoo.com"});          
    email.putExtra(Intent.EXTRA_SUBJECT, "subject");
    email.putExtra(Intent.EXTRA_TEXT, "message");
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Choose an Email client :"));