Reg: Изменение контактов в Android - PullRequest
0 голосов
/ 05 мая 2010

Я использую ContentObserver для контактов. Но здесь моя проблема, по крайней мере, как только я должен запустить свое приложение, в противном случае я не могу получить уведомления уведомлений. Мой код такой

ContactsContentObserver cco = новый ContactsContentObserver (обработчик);

    ContentResolver contentResolver = getContentResolver();

    contentResolver.registerContentObserver(RawContacts.CONTENT_URI,
    true, cco);

            }

private class ContactsContentObserver extends ContentObserver 
{
 public ContactsContentObserver(Handler h) 
 {
      super(h);
    }

    public void onChange(boolean selfChange) 
    {
       System.out.println("##########SOMEBODAY CHANGED ANYTHING AT THE CONTACTS");
       Toast.makeText(getApplication(),"####Updated####",Toast.LENGTH_LONG).show();


       }

.... Adv спасибо.

Ответы [ 2 ]

0 голосов
/ 05 мая 2010

Я предполагаю, что вы хотите, чтобы ContentObserver запускался автоматически, когда что-то меняется в контактах. Проблема в том, что что-то нужно будет вызвать код, который регистрирует этот слушатель. Вероятно, вы могли бы создать службу, которая запускается, когда устройство завершает загрузку, регистрирует ContentObserver и затем завершает работу. Служба не нуждается в непрерывной работе, так как ContentProvider framework будет автоматически вызывать ваш код. Посмотрите на регистрацию, чтобы получить BOOT_COMPLETED_ACTION намерение согласно этому сообщению.

0 голосов
/ 05 мая 2010

Если вы разрабатываете приложение пользовательского интерфейса для Android, тогда любой код или функциональные возможности будут работать только после запуска приложения. Лучший вариант для вас - разработать сервис или процесс Beckgroud, который будет работать в фоновом режиме на устройстве. И вам даже не нужно запускать его. У вас есть живой пример экранной клавиатуры Android. Это один из видов приложений, которые ожидают какого-то события или чего-то подобного и основаны на том, что они появляются. Попробуйте разработать сервис и посмотреть, что получится ....

...