Код: Выделить всё
SendSmsObserver smsObeserver = (new SendSmsObserver(new Handler(), context));
ContentResolver contentResolver = context.getContentResolver();
contentResolver.registerContentObserver(Uri.parse("content://sms"), true, smsObeserver);
Код: Выделить всё
class SendSmsObserver extends ContentObserver {
private Context context;
SendSmsObserver(Handler handler, Context context) {
super(handler);
this.context = context;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
queryLastSentSMS();
}
Мое требование состоит в том, что я должен прослушивать отправленные смс вне жизненного цикла активности. Это работает так, как ожидалось, но всегда ли мне регистрировать это в методе OnCreate? Также я хочу поместить те же строки в onReceive() BroadcastReceiver, чтобы гарантировать, что я слушаю после перезагрузки устройства.
ОБНОВЛЕНИЕ: BroadcastReceiver каким-то образом не регистрирует КонтентОбсервер. Я также пытался использовать getApplicationContext() в качестве контекста в BroadcastReceiver, но безуспешно.
Подробнее здесь: https://stackoverflow.com/questions/436 ... definitely
Мобильная версия