首页 小米魅族监听短信问题

小米魅族监听短信问题

举报
开通vip

小米魅族监听短信问题小米魅族监听短信问题 在小米,魅族监听短信广播时,你会发现监听不了,这是我们需要对短信的 数据库进行监听。 一般都用一个类继承ContentObserver,作为一个观察者来实现,当数据库变 化时,会通知ContentObserver来更新。 实例: public class ScreenTest extends Activity { class SmsContent extends ContentObserver{ private Cursor cursor = null; public S...

小米魅族监听短信问题
小米魅族监听短信问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 在小米,魅族监听短信广播时,你会发现监听不了,这是我们需要对短信的 数据库进行监听。 一般都用一个类继承ContentObserver,作为一个观察者来实现,当数据库变 化时,会通知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 MainActivity extends Activity { class SmsContent extends ContentObserver{ private Handler handler; public SmsContent(Handler handler) { super(handler); // TODO Auto-generated constructor stub this.handler = handler; } private Cursor cursor = null; /** * @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","body"}, "read=?", new String[]{"0"}, "date desc"); if (cursor != null){ System.out.println("接收到短信。。。。。。"); cursor.moveToFirst(); while(cursor.isLast()) { String phone = cursor.getString(cursor.getColumnIndex("address")); String body = cursor.getString(cursor.getColumnIndex("body")); System.out.println("未接短信---->" + "电话号码: " + phone + "内容:" + body); Message msg = handler.obtainMessage(); msg.arg1 = cursor.getInt(cursor.getColumnIndex("_id")); handler.sendMessage(msg); cursor.moveToNext(); } } } } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SmsContent(handler); SmsContent content = new //注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content); } //处理接收的短信 Handler handler = new Handler() { @Override public void handleMessage(Message msg) { ContentValues values = new ContentValues(); values.put("read", "2"); //修改短信为已读模式 getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{"" + msg.arg1}); } }; }
本文档为【小米魅族监听短信问题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_037433
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:6
分类:企业经营
上传时间:2018-09-06
浏览量:42