Я пытаюсь запланировать некоторые задачи, используя AlarmManager
в Android.вот мой код.
Установить код тревоги:
try {
// cancel before set new alarm
cancelAllPrevious() ;
AlarmManager alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context,AlarmReciver.class);
int calenderDay = some_day
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
Log.w("MyAlarmManager",intent.getExtras().toString());
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.DAY_OF_WEEK, calenderDay);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, alarmIntent);
} catch (Exception e) {
e.printStackTrace();
}
отменить предыдущий сигнал тревоги
public void cancelAllPrevious() {
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent updateServiceIntent = new Intent(context,AlarmReciver.class);
updateServiceIntent.putExtra("alarm_type","my_alarm");
PendingIntent pendingUpdateIntent = PendingIntent.getService(context, 0, updateServiceIntent, 0);
// Cancel alarms
try {
alarmManager.cancel(pendingUpdateIntent);
Log.i("AlarmManager","My Alaram Cancelled");
} catch (Exception e) {
Log.e("Alarm Manager", "AlarmManager update was not canceled. " + e.toString());
}
}
Манифест
<receiver
android:name = "**.*****.****.AlarmReciver"
android:enabled="true" />
AlarmReciver.java
public class AlarmReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("AlarmManger","method called ");
}
}
Значения отладки ->
Не работает.Пожалуйста, помогите мне.
Заранее спасибо.