Android如何读取手机中的短信?
RT.
想知道这个怎么做?用到哪些方面的知识?有没有什么推荐的资料,谢谢~~!
[解决办法]
首先创建一个接收短信的Java类文件“ReceiverDemo.java”并继承”BroadcastReceiver”;
并重写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("】\n的信息,内容:");
20: sb.append(currMsg.getDisplayMessageBody());
21: }
22: Toast toast = Toast.makeText(context, "收到了短消息: " + sb.toString(),Toast.LENGTH_LONG);
23: toast.show();
24: }
25: }
26: }
[解决办法]
差不多 原理上我认为是这样的 定义一个广播接收者接收这个短信广播 定义它的权限码为1000 就当短信到来时 先经过我们定义的那个广播接收者 我们想怎么处理就这么处理了 是楼上那个哥们那样写
[解决办法]