Несколько дней были потрачены, чтобы найти ответ здесь, но ничего.BroadcastReceiver не всегда срабатывает с AlarmManager
public class myReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
активность:
public class TestActivity extends Activity {
private myReceiver rec;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
rec = new myReceiver(); // do I really need this?
AlarmManager am=(AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, myReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 , pi);
}
}
XML
<application ...>
...
<receiver android:name="com.myprj.myReceiver" android:enabled="true"></receiver>
</application>
Он работает не всегда, но когда "он хочет" :(
ВНИМАНИЕ !: Я начал нажимать Ctrl + F11 в Eclipse и закрыть приложение с помощью кнопки «Назад» и снова Ctrl-F11! SO, на 7-й итерации приложение работает (тост в onReceive). Я остановил его, удалю d ata и начать снова нажимать Ctrl-F11, на 3-й итератор - работать, и 5-я итерация также работает ... Что это?
'Это работает не всегда, но когда "он хочет"(' Это не усваиваются, пожалуйста, предоставить точную информацию! , – RobinHood
Я добавил toast to onReceive, обновил приложение на своем устройстве и начал работать. ОК. Затем я удаляю свое приложение с телефона и снова устанавливаю его без каких-либо изменений кода, и ничего не работает ... Я смутился. Я использую в AVD свое настоящее устройство. – user2230842
Что обновить? и новая установка не работает, не так ли? – RobinHood