Я хочу установить уведомление о тревоге за 1 день до реального дня из календаря.
Это мой код.
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
ContentValues cv = new ContentValues();
cv.put(DBHelper.COL_VEHICLE_TYPE, vt);
cv.put(DBHelper.COL_DATE, mDisplayDate.getText().toString());
db.update(DBHelper.TABLE_NAME, cv, "_id = ?",new String[]{rowId});
cursor.requery();
String[] parts = mDisplayDate.getText().toString().split("-");
String day = parts[0];
String month = parts[1];
String year = parts[2];
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(day)-1); //1-31
cal.set(Calendar.MONTH, Integer.parseInt(month)); //first month is 0!!! January is zero!!!
cal.set(Calendar.YEAR, Integer.parseInt(year));//year...
cal.set(Calendar.HOUR_OF_DAY,23); //HOUR
cal.set(Calendar.MINUTE, 20); //MIN
cal.set(Calendar.SECOND, 0); //SEC
manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
myIntent = new Intent(DriverLicenseActivity.this, AlarmNotificationReceiver.class);
pendingIntent = PendingIntent.getService(DriverLicenseActivity.this, 0,myIntent , 0);
manager.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),pendingIntent);
getData();
}
})
Я устанавливаю календарь до реального дня, используя Integer.parseInt (день) -1 вот так.
cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(day)-1);
Но когда я запускаю код во время 23.20, он ничего не показывает.Нет уведомления от Android.