Я думаю, что с Android 3.1 и далее ваш BroadcastReceiver, который получает BOOT_COMPLETED
намерение не будет работать.Пользователь должен активировать приложение, взаимодействуя с ним.
Итак, после загрузки устройства все сторонние приложения находятся в режиме остановки.
А для текущего приложения вы можете использовать SharedPreferences
для автозапуска приложения.
ОБНОВЛЕНИЕ: ( Только для версии Android ниже 3.1, для более высокой версии это работает, но вам нужно взаимодействовать с приложением после загрузкизавершено на устройстве )
Вам необходимо использовать BroadcastReceiver
с android.intent.action.BOOT_COMPLETED
намерением.
Добавить следующее в ваш файл манифеста:
<receiver android:name="App_Receiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Класс App_Receiver, реализующий BoradcastReciever .Реализуйте метод onReceive()
и начните свое любимое занятие из приложения.
public void onReceive(Context context, Intent intent) {
// make sure you receive "BOOT_COMPLETED"
// Here isAutoStartEnabled check sharedPreferences for Auto Start flag
if ( isAutoStartEnabled ) {
if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
{
// Start the service or activity
}
}