请问,关于用contentobserver监听短信的问题,附源码

贝尔芭乐 2014-04-28 10:19:07
这段代码是从网上找到的 想要实现的功能是监听手机收到的短信 并且对短信内容进行输出
但是这段代码运行的时候有下面两个问题:
1.输出的信息总是前一条收到的短信内容
2.第一次收到短信后onchange方法会调用6次 后面每次都会调用3次 也就是连续输出很多次信息
下面是监听类的代码 请大家帮我看看是哪里的问题 谢谢。。。
package com.example.sms; 

import java.util.List;






import android.app.Activity;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Handler;
import android.util.Log;

/**
* class name:SmsReceiver<BR>
* class description:数据库改变监听类<BR>
* PS:当数据改变的时候,执行里面才change方法<BR>
* Date:2012-3-16<BR>
*
* @version 1.00
* @author CODYY)peijiangping
*/
public class SmsReceiver extends ContentObserver {
/**
* Activity对象
*/
private Activity activity;
private List<SmsInfo> infos;

public SmsReceiver(Handler handler, Activity activity) {
super(handler);
this.activity = activity;
}

@Override
public void onChange(boolean selfChange) {
Uri uri = Uri.parse(AllFinalInfo.SMS_URI_ALL);// 设置一个uri来查看各种类别短信内容
SmsContent smscontent = new SmsContent(activity, uri);
infos = smscontent.getSmsInfo();
System.out.println(infos.get(1).getSmsbody());
Log.i("SMS","haha");
super.onChange(selfChange);
}
}

...全文
67 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
十三邵 2014-05-08
  • 打赏
  • 举报
回复
这段代码是从网上找到的 想要实现的功能是监听手机收到的短信 并且对短信内容进行输出 但是这段代码运行的时候有下面两个问题: 1.输出的信息总是前一条收到的短信内容 2.第一次收到短信后onchange方法会调用6次 后面每次都会调用3次 也就是连续输出很多次信息 下面是监听类的代码 请大家帮我看看是哪里的问题 谢谢。。。 我也不会,帮你顶一下吧。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧