我该怎么处理短信发送/接收? [英] how can I handle SMS send/receive ?
问题描述
我想写的方法来发送短信的号码,从编辑文本字段的文本。邮件发送后,我想获得一些声音或东西是收到短信提醒我。我该怎么办呢? 先感谢您, 狼来了。
I want to write method to send SMS on number and with text from edit text fields. After message is sent I want to receive some sound or something to alert me that SMS is received. How can I do that? Thank you in advance, Wolf.
推荐答案
该网站似乎既有良好的写了起来:的 http://mobiforge.com/developing/story/sms-messaging-android
This site seems to have a good write up of both: http://mobiforge.com/developing/story/sms-messaging-android
最重要的部分是这样的:
The important parts are this:
//---sends an SMS message to another device---
private void sendSMS(String phoneNumber, String message)
{
PendingIntent pi = PendingIntent.getActivity(this, 0,
new Intent(this, SMS.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, pi, null);
}
和这个答案有一个简单的广播接收器,以获得未来的短信:机器人 - 短信广播接收器 应该是这个样子:
And this answer has a simple broadcast receiver to get the text messages coming in: Android - SMS Broadcast receiver Should look something like:
public class SMSBroadcastReceiver extends BroadcastReceiver {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private static final String TAG = "SMSBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "Intent recieved: " + intent.getAction());
if (intent.getAction() == SMS_RECEIVED) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[])bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
if (messages.length > -1) {
Log.i(TAG, "Message recieved: " + messages[0].getMessageBody());
}
}
}
}
}
这篇关于我该怎么处理短信发送/接收?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!