android中发送短信很简单,
首先要在Mainfest.xml中加入所需要的权限:
1 2 3 |
|
为了后面测试方便,干脆把SMS的所有权限加上。
方法1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
方法2:
如果想知道短信发送后的状态,需要两个Receiver来实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
在模拟器上是看不到Receiver中的log信息的,据网上说在手机上是可以实现的,只可惜手中无机,也只能纸上谈兵了。
方法3:
上面都是发送文本文件,如果想发送一些非文本,比如加密数据,可以用以下方法:
1 2 3 4 5 6 |
|
方法4:
调用系统的短信界面,这个方法需要用户自己输入接收方的电话号码
1 2 3 4 5 |
|
这个方法自动设置接收方的号码
1 2 3 4 5 6 |
|
短信的接受,需要实现BroadcastReceiver类,监听系统消息
首先在Mainfest.xml中加入申明,SmsReceiver为实现类
1 2 3 4 5 6 7 |
|
如果是方法3,使用sendDataMessage时需要加入
1 2 3 4 5 6 7 8 9 10 |
|
将其中的dat数据注释掉,模拟器上也可以接收到短信; port跟sendDataMessage中的端口值不一致时,也没有问题,太神奇了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
如果是sendDataMessage发送:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
不一样的地方是message的获取时使用getUserData()方法。
原文转自:http://blog.csdn.net/rangq1/article/details/5793953