现在的问题是,我将主ID用作System.currenttimemillis(),它显然需要使用长型变量。现在基于主ID,我正在设置警报,以便它也将是唯一的。
现在,当我将类型从long转换为int时,由于数值较大而我得到了错误的提示。那我该怎么办?
注意: 1.请不要说将我的ID更改为int,这是不可能的。 2.类型转换不起作用。 3.我不能每次都发送相同的ID,现在不可能。
public void createExactAlarm(Context context, Calendar calendar, long id) {
AlarmManager mAlarmManager;
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra(REMINDER_ID, id);
/*TODO:-> FLAG_UPDATE_CURRENT is necessary to work in edit case*/
showLog("In AR: " + (int) id);
mPendingIntent = PendingIntent.getBroadcast(context, (int) id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
/*TODO:-> set & setExact & setRepeating working in all cases*/
mAlarmManager.setExact(AlarmManager.RTC, calendar.getTimeInMillis(), mPendingIntent);
}