У меня есть коллекция напоминаний в моей базе данных (сортировка по времени). Когда мое приложение начинается, я звоню setAlarm
. Мне нужно добавить код в onReceive
метод для того, чтобы выполнить следующие задачи:Android: установка нового сигнала тревоги из метода onReceive
- Получить первое напоминание из моей базы данных
- Получить задержку, связанную с напоминанием
- Расписание нового сигнала тревоги для получения следующего напоминания.
Я создал простой класс BroadcastReceiver:
public class AlarmReceiver extends BroadcastReceiver{
private static final String DEBUG_TAG= "AlarmReceiver";
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Log.d(DEBUG_TAG,"ALARM!!!");
// --mycode--
}
}
и класс активности:
public class AlarmActivity extends Activity {
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
context = getApplicationContext();
}
public void setAlarm(View v){
Intent intent = new Intent(this,AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ Delay,pendingIntent);
Log.i("SETTER","Alarm started");
}
public void stopAlarm(View v){
Intent intent = new Intent(this,AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntent.cancel();
}
}
Теперь, я бы, что в разделе --mycode--
новая Задержка берется (если он существует) из база данных и новый Тревога установлены с этой новой задержкой. Как установить новый AlarmManager из метода onReceive?
Можете ли вы объяснить более подробно его трудно получить – DjHacktorReborn