android的日积月累-监听短信

来源:互联网 发布:电视推荐 知乎 编辑:程序博客网 时间:2024/05/16 04:44
监听短信数据库的变化,当收到短信数据库变化了的时候,去取得最新的那条短信即可。或者你想别的什么操作也可以。

监听类SmsReceiver.java


[java]
package com.pei.broadcastReceiver; 
 
import java.util.List; 
 
import com.pei.fixed.AllFinalInfo; 
import com.pei.info.SmsInfo; 
import com.pei.util.SmsContent; 
 
import android.app.Activity; 
import android.database.ContentObserver; 
import android.net.Uri; 
import android.os.Handler; 
 
/**
 * 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_INBOX);// 设置一个uri来查看各种类别短信内容 
        SmsContent smscontent = new SmsContent(activity, uri); 
        infos = smscontent.getSmsInfo(); 
        System.out.println(infos.get(1).getSmsbody()); 
        super.onChange(selfChange); 
    } 

怎么注册这个监听呢,只需:

[java]
ContentObserver co = new SmsReceiver(new Handler(), 
                AndroidUtilActivity.this); 
        this.getContentResolver().registerContentObserver( 
                Uri.parse("content://sms/"), true, co); 

原创粉丝点击