我在这里的两篇文章中找到了这段代码:
String url = "content://sms/";
Uri uri = Uri.parse(url);
getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler));但我不知道传入MyContentObserver的构造函数的这个处理程序是什么。
我想在“content:// sms // ContentObserver”中注册一个发送,以便在安卓发送短信时收到通知,并且在ContentObserver的文档中说明将从构造函数中传递的handled调用OnChange方法。
发布于 2012-03-19 03:20:13
Handler与Looper一起使用,以逐个执行任务队列。对于ContentObserver,它的onChange()方法可能会被多次调用。要对这些调用进行排队并按顺序执行它们,需要提供一个处理程序。
如果希望在主线程中执行处理程序,只需创建一个新的处理程序,如:Handler handler = new Handler();并传递它。
但是,如果您希望在另一个线程中执行onChange(),则首先需要使用Looper.prepare();为该线程创建一个Looper
不需要为主线程创建Looper的原因是它是自动为您创建的。
有关处理程序和循环如何工作的详细说明,请查看this article。
https://stackoverflow.com/questions/9760956
复制相似问题