http://www.eoeandroid.com/thread-8990-1-1.html
我们知道,android中可以通过设置写一个继承自BroadcastReceiver的Receiver来重写 接收到短信之后的逻辑处理,如下:
复制代码 但是,如果要在发送短信后,进入到我们自己的一段逻辑。那么怎么做到监听,发送短信呢? 试过拦截,send,sendto 都无法做到?
复制代码 难道没有办法做到监听短信发送? |
按照楼上的楼上的思路, 测试使用ContentObserver ,观察"content://sms"的变化,调用重写的onChange方法,确实可以监听到 短信记录的变化,这样确实可以监听发短信!而且在此方法内,同样也是可以监听收短信的。 thanks ! |
回楼上:先写一个观察者:
复制代码 然后在Acitivty或Service里注册这个观察者
复制代码 当收发短信时,会调用onChange方法 |
-------------------
找了一个例子发现另外一个方法,可以自定义BroadcastReceiver来实现~
复制代码
复制代码 |
----------
send:是否发出 delivery:是否成功投递到收件人
复制代码 |
------------
public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); //读取收件箱中指定号码的短信 cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"138xxxxxxxx", "0"}, "date desc"); if (cursor != null){ ContentValues values = new ContentValues(); values.put("read", "1"); //修改短信为已读模式 cursor.moveToFirst(); while (cursor.isLast()){ //更新当前未读短信状态为已读 getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)}); cursor.moveToNext(); |
---------
找了一个例子发现另外一个方法,可以自定义BroadcastReceiver来实现~ 这个是监视短信发送的状态报告的吧,和楼主的 监视短信的发送 要求不一致。 |
----------