如何从Android模拟器向手机发送短信

时间:2012-05-25 08:32:55

标签: android sms emulation

我正在尝试向手机发送短信,但我遇到了问题:我无法收到消息,但模拟器告诉我该消息已发送。

这是我的代码,

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.telephony.SmsManager;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.view.View;

public class sendsms extends Activity {
  Button buttonSend;
  EditText textPhoneNo;
  EditText textSMS;
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sending);
    buttonSend = (Button) findViewById(R.id.BTNSENDSMS);
    textPhoneNo = (EditText) findViewById(R.id.txtEnterNoSMS);
    textSMS = (EditText) findViewById(R.id.txtMsgSMS);
    buttonSend.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        String phoneNo = textPhoneNo.getText().toString();
        String sms = textSMS.getText().toString();
        try {
          SmsManager smsManager = SmsManager.getDefault();
          smsManager.sendTextMessage(phoneNo, null, 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();
        }
      }
    });
  }
}

和我的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.sdc"
  android:versionCode="1"
  android:versionName="1.0" >
  <uses-sdk android:minSdkVersion="12" />
  <uses-permission android:name="android.permission.SEND_SMS" />
<intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
</manifest>

4 个答案:

答案 0 :(得分:8)

,您无法从模拟器向手机发送短信,简单而合乎逻辑的原因是模拟器没有 SIM卡。< / p>

但是,您可以将SMS从一个模拟器发送到另一个模拟器,假设两个实例都在同一台计算机上运行。

答案 1 :(得分:5)

绝不可以将短信从模拟器发送到实际手机,但是你可以将短信从一个模拟器发送到另一个模拟器(提供两个模拟器运行实例)

EG。第一个模拟器运行模拟器代码(5554)和其他运行(5556)并从模拟器5554发送短信到5556

答案 2 :(得分:0)

如果您真的想尝试看看,可以将代码构建为.apk文件,然后尝试在某些实际的Android手机中运行该应用程序。

答案 3 :(得分:0)

如果您没有其他手机,为什么不尝试使用网络服务发送短信?我快速搜索了一些东西,也许它已经足够好了:

http://www.txt2day.com/