首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android怎么读取手机中的短信

2012-03-31 
Android如何读取手机中的短信?RT.想知道这个怎么做?用到哪些方面的知识?有没有什么推荐的资料,谢谢~~![解

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 就当短信到来时 先经过我们定义的那个广播接收者 我们想怎么处理就这么处理了 是楼上那个哥们那样写
[解决办法]

探讨
引用:

首先创建一个接收短信的Java类文件“ReceiverDemo.java”并继承”BroadcastReceiver”;
并重写public void onReceive(Context context, Intent intent) 方法;
重写内容如下:
1: private static final String strRes = "an……

[解决办法]
以下三篇blog貌似可以解决你的问题
1.解决db权限问题
android 的短信数据库的读取
2.读取实例
android中读取短信
[Android 机制] android怎么读取手机上的存储的短信内容呢?

热点排行