之前在做黑名单屏蔽短信的时候,遇到一个比较棘手的问题,就是我截取我指定号码的短信之后,但是我如何不让系统通过通知栏通知用户,在网上也寻找了很久,也有点眉目了,以下是别人使用 ContentObserver 来监听短信数据库变化来实现的。
public class ScreenTest extends Activity {
class SmsContent extends ContentObserver{
private Cursor cursor = null;
public SmsContent(Handler handler) {
super(handler);
}
/**
* @Description 当短信表发送改变时,调用该方法
* 需要两种权限
* android.permission.READ_SMS 读取短信
* android.permission.WRITE_SMS 写短信
* @Author Snake
* @Date 2010-1-12
*/
@Override
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[]{"12345678901", "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();
}
}
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SmsContent content = new SmsContent(new Handler());
//注册短信变化监听
this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"),
true, content);
}
}
public class ScreenTest extends Activity {
class SmsContent extends ContentObserver{
private Cursor cursor = null;
public SmsContent(Handler handler) {
super(handler);
}
/**
* @Description 当短信表发送改变时,调用该方法
* 需要两种权限
* android.permission.READ_SMS读取短信
* android.permission.WRITE_SMS写短信
* @Author Snake
* @Date 2010-1-12
*/
@Override
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[]{"12345678901", "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();
}
}
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SmsContent content = new SmsContent(new Handler());
//注册短信变化监听
this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);
}
}
但是我也试了几次,似乎不奏效,不知各位有何更好想法,大家分享分享!
分享到:
相关推荐
PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试PHP 去HTML,截取指定汉字正则表达试...
去年的时候由于工作需要,写了个用C#截取指定长度的方法,当时颇费了一番周折,因为想错了方向。 例如要截取字符串"我是1个中国人",取3位长度,那得到的结果是"我",如果取6位长度,得到的结果是"我是1",因为汉字...
winpcap截取指定ip网络数据包并保存 winpcap截取指定ip网络数据包并保存 winpcap截取指定ip网络数据包并保存
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
自己输入一个字符串,字符串中可以包括字符和汉字,截取指定的字符串
Python - 截取指定帧数间隔指定大小的视频,并保存图片到指定位置; 详细请查看https://blog.csdn.net/tanghong1996/article/details/88395372
字符串按照指定的字节数来截取
这个示例实现截取指定区域的图片 当触摸背景图像的某一点时,会将以该点为左上顶点的一个正方形区域复制到另一个100*100的ImageView图片中
一个php截取指定字符串之间的字符串的类
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
可截取指定url的图,有源码 可截取指定url的图,有源码
截取图片指定部分
excel怎么截取指定书目的字符?截取指定数目字符方法.docx
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
截取APP中特定区域,保存至相册
图像指定区域截取
SQL截取字符串函数(1、截取从字符串左边开始N个字符 2、截取从字符串右边开始N个字符(例如取字符www.163.com) 3、截取字符串中任意位置及长度 等等)
windows mobile 短信截取,截取短信并进行操作
windows平台下使用C++视频屏幕截取功能,能够截取指定区域,能够开关鼠标的显示,工程下载下来可直接编译运行起来,配套的测试demo写的比较简单,可以根据自己的应用场景调用插件测试。
今天小编就为大家分享一篇python用opencv批量截取图像指定区域的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧