-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

いいえ、エミュレータから携帯電話に SMS を送信することはできません。単純で論理的な理由は、エミュレータにSIM カードがないためです。

ただし、両方のインスタンスが同じコンピューターで実行されていると仮定すると、あるエミュレーターから別のエミュレーターに SMS を送信できます。

于 2012-05-25T08:34:26.620 に答える
6

エミュレータから実際の電話に SMS を送信することは決してできませんが、あるエミュレータから別のエミュレータに SMS を送信することはできます (実行中のエミュレータの 2 つのインスタンスが提供されます)。

例えば。エミュレータコード(5554)で実行されている最初のエミュレータと(5556)で実行されている他のエミュレータで、エミュレータ5554から5556にSMSを送信します

于 2012-05-25T08:35:44.130 に答える
1

別の電話をお持ちでない場合は、SMSを送信するためのWebサービスを試してみませんか?私はすぐに何かをグーグルで検索しました、多分それで十分です:

http://www.txt2day.com/

于 2012-05-25T08:56:33.113 に答える
0

本当に試してみたい場合は、コードを .apk ファイルにビルドしてから、実際の Android フォンでそのアプリを実行してみてください。

于 2012-05-25T08:48:21.907 に答える