BroadcastReceiver будет убит или незарегистрирован системой - PullRequest
2 голосов
/ 23 июля 2011

Я знаю, что это общая проблема, и общее решение состоит в том, чтобы зарегистрировать фильтр намерений в манифесте, а не в коде.Но регистрация манифеста не работает для некоторых действий, например для android.intent.action.SCREEN_OFF и android.intent.action.SCREEN_ON.

Как я могу убедиться, что такой приемник работает точно , пока он не будет незарегистрированменя в коде?

1 Ответ

3 голосов
/ 24 июля 2011

Как я могу убедиться, что такой приемник работает точно, пока он не будет зарегистрирован мной в коде?

Вы не можете.Любой компонент, который регистрирует приемник, сам может быть уничтожен из-за неактивности / старости, чтобы восстановить ОЗУ для использования остальной ОС.Кроме того, конечно, пользователь может избавиться от любого компонента в любое время, когда пользователь захочет, с помощью убийц задач и приложения «Настройки».

Самое близкое, что вы можете получить, - это использовать службу, которая также вызывает startForeground() и помещатьNotification в строке состояния.Опять же, пользователь все еще может избавиться от него, когда пожелает.Затем вам нужно будет убедить пользователя, что ценность вашего приложения соответствует стоимости вечного сервиса и экранного пространства для Notification

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...