【发布时间】:2012-05-21 16:31:41
【问题描述】:
我创建了一个安卓应用程序。现在我想通过它发送短信到一个真实的手机号码......有人可以帮我吗?互联网上提供的信息是在两个模拟器之间发送消息。但是我想用真实的手机号码发送短信...请帮帮我。
【问题讨论】:
-
模拟器没有手机合约/号码/等,所以不工作。
我创建了一个安卓应用程序。现在我想通过它发送短信到一个真实的手机号码......有人可以帮我吗?互联网上提供的信息是在两个模拟器之间发送消息。但是我想用真实的手机号码发送短信...请帮帮我。
【问题讨论】:
模拟器不是真正的手机,没有号码或 SIM 卡,因此无法从外部设备发送或接收短信。从 cmd telnet 你可以使用 sms send phonenumber
编辑:
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;
}
【讨论】:
我认为您无法将 SMS 从 Emulator 发送到真实设备,因为它没有任何号码。我添加了下面的代码,这将有助于从真实设备发送短信。
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);
它对我有用
【讨论】:
请参阅此问题了解如何在您的安卓模拟器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 :"));
【讨论】: