Android: Как зарегистрировать content observer без активности?

#android #sms #contentobserver

#Android #sms #contentobserver

Вопрос:

Мне нужно прослушать все входящие и исходящие sms-сообщения и сохранить их в текстовом файле. Для этого я использую broadcast listener для прослушивания всех входящих сообщений. Это работает нормально. Но для исходящих sms, как зарегистрировать content observer без активности? Я не хочу никакой активности в моем приложении. Теперь широковещательный приемник прослушивает даже после перезагрузки, будет ли content observer тоже прослушивать даже после перезагрузки? Как объединить эти две функции?

Вот часть моего manifest.xml

 <receiver class="map" android:name=".map" android:enabled="true">

            <intent-filter>

                <action android:value="android.provider.Telephony.SMS_RECEIVED"                   android:name="android.provider.Telephony.SMS_RECEIVED" />

            </intent-filter>

        </receiver>
  

Здесь класс, который расширяет broadcast receiver

 public class map extends BroadcastReceiver {
    /** Called when the activity is first created. */
    private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
    public void onReceive(Context context, Intent intent) 
    { 
                  // Here I store the sms in text file

    }
  

Приветствуется любая помощь. Спасибо.

Ответ №1:

Вам понадобится http://developer.android.com/reference/android/app/Service.html . Создайте один из них, настройте его на запуск при загрузке и зарегистрируйте свой content observer оттуда.