android– 如何发送和接收数据短信

android– 如何发送和接收数据短信,第1张

概述我发现了一些关于如何发送/接收文本SMS消息的教程,但没有关于如何发送/接收数据SMS消息的教程.我希望我的应用程序的用户能够共享的数据非常少.我能够发送,但我的BroadcastReceiver永远不会被调用.这似乎是一个已知的问题(http://code.google.com/p/android/issues/detail?id=1576

我发现了一些关于如何发送/接收文本SMS消息的教程,但没有关于如何发送/接收数据SMS消息的教程.我希望我的应用程序的用户能够共享的数据非常少.

我能够发送,但我的broadcastReceiver永远不会被调用.这似乎是一个已知的问题(http://code.google.com/p/android/issues/detail?id=1576)但是有没有人想出怎么做呢?

我尝试发送/接收文本短信,工作正常,事情是,我需要指定一个端口,所以只有我的应用程序可以收听短信.

这个问题似乎在此之前被问过,但从未得到过回答:how to receive text sms to specific port..

解决方法:

我知道这是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();                }

在Manifest中设置Receiver:

<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); 
总结

以上是内存溢出为你收集整理的android – 如何发送和接收数据短信全部内容,希望文章能够帮你解决android – 如何发送和接收数据短信所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104053.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存