-1

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

这是我的代码,

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

4 回答 4

8

,您不能从模拟器向手机发送短信,简单而合乎逻辑的原因是模拟器没有SIM 卡

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

于 2012-05-25T08:34:26.620 回答
6

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

例如。第一个使用模拟器代码 (5554) 运行的模拟器和其他使用 (5556) 运行的模拟器,并从模拟器 5554 向 5556 发送短信

于 2012-05-25T08:35:44.130 回答
1

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

http://www.txt2day.com/

于 2012-05-25T08:56:33.113 回答
0

如果你真的想试试看,你可以将你的代码构建成一个 .apk 文件,然后尝试在一些实际的 android 手机上运行该应用程序。

于 2012-05-25T08:48:21.907 回答