您的位置:首页 > 移动开发

android 监听 系统message app 短信发送

2013-04-28 10:31 381 查看
其实是监听 发件箱数据的变化

package com.example.testsms;

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

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		getContentResolver().registerContentObserver(
				Uri.parse("content://sms"), true,
				new SmsObserver(new Handler()));
	}

	private final class SmsObserver extends ContentObserver {
		public SmsObserver(Handler handler) {
			super(handler);
		}

		public void onChange(boolean selfChange) {// 查询发送箱中的短信(处于正在发送状态的短信放在发送箱)
			Cursor cursor = getContentResolver().query(
					Uri.parse("content://sms/outbox"), null, null, null, null);
			while (cursor.moveToNext()) {
				StringBuilder sb = new StringBuilder();
				sb.append("_id=").append(
						cursor.getInt(cursor.getColumnIndex("_id")));
				sb.append(",address=").append(
						cursor.getString(cursor.getColumnIndex("address")));
				sb.append(";body=").append(
						cursor.getString(cursor.getColumnIndex("body")));
				sb.append(";time=").append(
						cursor.getLong(cursor.getColumnIndex("date")));
				Log.i("ReceiveSendSMS", sb.toString());
			}
		}
	}
	

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: