WEB开发网
开发学院手机开发Android 开发 Android 中发送和接收短信 阅读

Android 中发送和接收短信

 2010-05-10 19:44:00 来源:WEB开发网   
核心提示:6.重写下面的方法:1: public void onReceive(Context context, Intent intent)重写内容如下:1: private static final String strRes = "android.provider.Telephony.SMS_RECEIVED&q

6.重写下面的方法:

1: public void onReceive(Context context, Intent intent)

重写内容如下:

1: private static final String strRes = "android.provider.Telephony.SMS_RECEIVED";

2: @Override

3: public void onReceive(Context context, Intent intent) {

4: /*

5: * 判断是否是SMS_RECEIVED事件被触发

6: */

7: if (intent.getAction().equals(strRes)) {

8: StringBuilder sb = new StringBuilder();

9: Bundle bundle = intent.getExtras();

10: if (bundle != null) {

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

12: SmsMessage[] msg = new SmsMessage[pdus.length];

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

14: msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);

15: }

16: for (SmsMessage currMsg : msg) {

17: sb.append("您收到了来自:【");

18: sb.append(currMsg.getDisplayOriginatingAddress());

19: sb.append("】 的信息,内容:");

20: sb.append(currMsg.getDisplayMessageBody());

21: }

22: Toast toast = Toast.makeText(context, "收到了短消息: " + sb.toString(),Toast.LENGTH_LONG);

23: toast.show();

24: }

25: }

26: }

注意:

A:第7行代码用于判断当前监听的是否是接收短信这个事件,如果是则进行下面的处理,否则不做处理

B:12到22行解析出发信人的号码和短信内容并组成一个可读的字符串

C:22和23行将上面组成的字符串显示给用户

7.在AndroidManifest.xml中配置一个Receiver如下:

1: < receiver android:name=".ReceiverDemo" android:enabled="true" >

2: < intent-filter >

3: < action android:name="android.provider.Telephony.SMS_RECEIVED" / >

4: < /intent-filter >

5: < /receiver >

好了,经过以上这7个步骤就可以实现短信的发送和接收了,现在生成,并安装到手机上就可以发送短信了,当手机有短信接收的时候会自动弹出来一个提示的字符串给用户。当然也可以修改上面收短信的代码,在onReceive里实现一些很有意思的功能,比方说收到短信的时候播放一首自己喜欢的歌,或者在这里实现当收到短信后马上转发给一个指定的号码,比如给自己的女朋友手机上实现当她收到短信的时候立马将短信转到你的手机上,这样神不知鬼不觉,一切尽在你掌握中……

上一页  1 2 3 4 

Tags:Android 发送 接收

编辑录入:coldstar [复制链接] [打 印]
赞助商链接