Запустите приложение, когда поставщик контента будет изменен - PullRequest
1 голос
/ 03 июня 2010

Я хочу, чтобы мое приложение запускалось, когда кто-то изменяет контент-провайдера. Настройка, чтобы быть конкретным. Инфраструктура настроек вызывает «уведомление», когда значение установлено.

Если бы мое приложение было запущено, я бы использовал registerContentObserver (), я думаю, но оно не запускается.

Может определить некоторый фильтр намерений в моем манифесте, который пробуждает мое приложение. План резервного копирования должен состоять в том, чтобы служба, работающая все время, зарегистрировала слушателя, но это похоже на растрату или ресурсы.

Спасибо, Ола

1 Ответ

0 голосов
/ 10 апреля 2011

Это напрямую не поддерживается устройством Android, потому что запуск приложения каждый раз, когда данные ContentProvider изменяются, является способом действительно убить вашу батарею. Чтобы выполнить запрос, вам нужно сделать это в службе, что, как вы сказали, по понятным причинам нежелательно.

Во-вторых, начало намерения - это действие user . Android действительно не поддерживает запуск приложения самостоятельно без запроса пользователя ... Это было бы невежливо! Что, если ваш пользователь делал что-то важное, а затем ваше приложение показывалось сверху? Помните, что пользователь контролирует, а не вы. Вместо запуска приложения рассмотрите возможность размещения уведомления в строке состояния , чтобы пользователь мог справиться с ним, когда ему будет удобно.

...