diff options
Diffstat (limited to 'docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd')
-rw-r--r-- | docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd b/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd deleted file mode 100644 index 724ee93..0000000 --- a/docs/html/intl/ru/training/monitoring-device-state/manifest-receivers.jd +++ /dev/null @@ -1,50 +0,0 @@ -page.title=Manipulating Broadcast Receivers On Demand -parent.title=Optimizing Battery Life -parent.link=index.html - -trainingnavtop=true - -previous.title=Determining and Monitoring the Connectivity Status -previous.link=connectivity-monitoring.html - -@jd:body - -<div id="tb-wrapper"> -<div id="tb"> - -<h2>Содержание урока</h2> -<ol> - <li><a href="#ToggleReceivers">Включение, отключение и каскадирование приемников изменения состояния для повышения эффективности</a></li> -</ol> - - -<h2>Дополнительные материалы</h2> -<ul> - <li><a href="{@docRoot}guide/components/intents-filters.html">Намерения и фильтры намерений</a> -</ul> - -</div> -</div> - -<p>Самый простой способ отслеживать изменения состояния устройства – создать приемники {@link android.content.BroadcastReceiver} для каждого отслеживаемого состояния и зарегистрировать их в манифесте приложения. Затем в каждом из этих приемников можно переопределять график повторяющихся оповещений в зависимости от текущего состояния устройства.</p> - -<p>Этот способ имеет недостатки: приложение активирует устройство при каждом запуске любого из этих приемников, что далеко не всегда оправданно.</p> - -<p>Оптимальный вариант – включать и выключать приемники широковещательных намерений во время работы приложения. Это позволяет использовать приемники, объявленные в манифесте, как пассивные оповещения, которые инициируются системными событиями только в случае необходимости.</p> - - -<h2 id="ToggleReceivers">Включение, отключение и каскадирование приемников изменения состояния для повышения эффективности </h2> - -<p>{@link android.content.pm.PackageManager} позволяет включать и выключать любые компоненты, определенные в манифесте, в том числе все приемники широковещательных намерений:</p> - -<pre>ComponentName receiver = new ComponentName(context, myReceiver.class); - -PackageManager pm = context.getPackageManager(); - -pm.setComponentEnabledSetting(receiver, - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, - PackageManager.DONT_KILL_APP)</pre> - -<p>При разрыве соединения этот метод позволяет выключить все приемники, кроме приемника изменения состояния подключения. И наоборот, когда подключение уже установлено, отслеживать изменения его состояния не требуется. Достаточно проверить наличие подключения к Интернету непосредственно перед обновлением или изменением графика оповещений о регулярном обновлении.</p> - -<p>Точно так же можно отложить загрузку, для выполнения которой требуется более высокая пропускная способность. Просто включите приемник широковещательных намерений, который будет отслеживать изменения возможности подключения и инициировать загрузку только после подключения к сети Wi-Fi.</p> |