Добрый день! Пытаюсь сделать Alarm Manager, который каждую минуту будет выполнять определенные действия. Происходить это должно постоянно, не убиваться системной и при перезагрузке телефона запускаться. Однако при очистке недавних приложений и перезагрузке телефона аларм убивается.
Запускаю Alarm Manager
public void startAlarm(Context context) {
AlarmManager manager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent myIntent;
PendingIntent pendingIntent;
myIntent = new Intent(context,AlarmNotificationReceiver.class);
pendingIntent = PendingIntent.getBroadcast(context,0,myIntent,0);
Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());//set the current time and date for this calendar
manager.setRepeating(AlarmManager.RTC_WAKEUP, cur_cal.getTimeInMillis(),60*1000,pendingIntent);
}
Receiver
public class AlarmNotificationReceiver extends BroadcastReceiver {
private Context context;
@Override
public void onReceive(Context context, Intent intent) {
//...
}
Receiver в Android manifest
<receiver android:name=".service.AlarmNotificationReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
Что я делаю не так??
Вам нужны 2 ресивера или один, но принимающий указание на то, что он должен делать. Ваша проблема в том, что вы задаёте очередь для AlarmManager
только в активити. В итоге, после загрузки девайса у вас ваш ресивер вызовется... Но очередь для Alarm Manager
не будет создана и более он вызван не будет.
Т.е. надо каждый раз при срабатывании ресивера на событие запуска девайса заново задавать очередь для Alarm Manager
.
Попробуйте так:
Alarm Manager
. Т.е. и в нём, и в активити задавайте очередь.Alarm Manager
- в нём к-л логикаАйфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день, как называется эта полоска и как её убрать ?
Рассматривается задача установки полупрозрачного цвета неактивным иконкам на табах (по гайдлайнам иконки должны быть прозрачными на 30%)
Можно ли из java кода вызвать готовые функции из dll, написанного на C++, а не писать dll изначально под java?
Добрый день, работаю с сервером на java в документации к нему говориться что следует для его запуска добавить в jvm флаг, дословно