menu

Выполнение кода при загрузке телефона
SDK Version: 
 M3

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


Устройство загрузки

В Android BroadcastReaceivers система предназначена именно для такого механизма, они могут слушать определенные намерения с заданными параметрами, а также запустить код, когда они получают уведомление, даже если ваше приложение не работает в данный момент. Вы можете определить собственные действия и вручную контролировать свои приемники, но есть много готовых механизмов, которые автоматической реагируют на определенные события.
Одним из них является BOOT_COMPLETED. Полный список доступен здесь.

Все, что вам нужно сделать, это класс, который расширяет Broadcastreceiver:


  1. public class HelloReceiver extends BroadcastReceiver {
  2.   @Override
  3.   public void onReceive(Context context, Intent arg1) {
  4.     //code inserted here will run at phone boot
  5.     //you may start a Service
  6.     //or an AlarmManager to run code later too
  7.   }
  8. }

Затем зарегистрировать его в AndroidManifest.xml:

  1. <receiver android:name="HelloReceiver">
  2.   <intent-filter>
  3.     <action android:name="android.intent.action.BOOT_COMPLETED" />
  4.     <category android:name="android.intent.category.HOME" />
  5.   </intent-filter>
  6. </receiver>

BOOT_COMPLETED требует разрешение на использование, так что не забудьте добавить это тоже:


  1. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>

Category: Мои заметки | Added by: tsvetkov (07.09.2010)
Views: 2018 | Rating: 0.0/0