我该怎么处理短信发送/接收? [英] how can I handle SMS send/receive ?

查看:112
本文介绍了我该怎么处理短信发送/接收?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想写的方法来发送短信的号码,从编辑文本字段的文本。邮件发送后,我想获得一些声音或东西是收到短信提醒我。我该怎么办呢? 先感谢您, 狼来了。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆