为了账号安全,请及时绑定邮箱和手机立即绑定

如何发送和接收数据短信

如何发送和接收数据短信

holdtom 2019-11-02 10:21:42
我找到了一些有关如何发送/接收文本SMS消息的教程,但是没有关于如何发送/接收数据SMS消息的教程。我希望我的应用程序的用户能够共享很少的数据。我可以发送,但是我BroadcastReceiver从未接到过电话。看来这是一个已知问题(http://code.google.com/p/android/issues/detail?id=1576),但是有人知道如何做到这一点吗?我尝试发送/接收短信,但效果很好,问题是,我需要指定端口,以便只有我的应用才能收听短信。
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

我知道我在回复时只有1岁,但我认为它仍然可以帮助某人。

接收:


Bundle bundle = intent.getExtras(); 


            String recMsgString = "";            

            String fromAddress = "";

            SmsMessage recMsg = null;

            byte[] data = null;

            if (bundle != null)

            {

                //---retrieve the SMS message received---

               Object[] pdus = (Object[]) bundle.get("pdus");

                for (int i=0; i<pdus.length; i++){

                    recMsg = SmsMessage.createFromPdu((byte[])pdus[i]);


                    try {

                        data = recMsg.getUserData();

                    } catch (Exception e){


                    }

                    if (data!=null){

                        for(int index=0; index<data.length; ++index)

                        {

                               recMsgString += Character.toString((char)data[index]);

                        } 

                    }


                    fromAddress = recMsg.getOriginatingAddress();

                }

在清单中设置接收器:


<receiver android:name=".SMSReceiver"> 

        <intent-filter>

        <action android:name="android.intent.action.DATA_SMS_RECEIVED" /> 

            <data android:scheme="sms" /> 

            <data android:port="8901" /> 

        </intent-filter> 

</receiver> 

正在发送:


String messageText = "message!"; 

short SMS_PORT = 8901; //you can use a different port if you'd like. I believe it just has to be an int value.

SmsManager smsManager = SmsManager.getDefault(); 

smsManager.sendDataMessage("8675309", null, SMS_PORT, messageText.getBytes(), null, null); 


查看完整回答
反对 回复 2019-11-02
  • 1 回答
  • 0 关注
  • 330 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信