/** * @param programId "S321387639" * @param seriesId "" * @param programTitle "국악무대" * @param programBroadcastingStartTime 2015-11-10 16:02:00" * <p>mPref.addWatchTvAlarm("S321387639", "", "국악무대1", "2015-11-10 18:50:00"); * mPref.addWatchTvAlarm("S321387640", "", "국악무대2", "2015-11-10 18:51:00"); * mPref.addWatchTvAlarm("S321387641", "", "국악무대3", "2015-11-10 18:52:00"); * mPref.addWatchTvAlarm("S321387642", "", "국악무대4", "2015-11-10 18:53:00"); * mPref.addWatchTvAlarm("S321387643", "", "국악무대5", "2015-11-10 18:54:00"); */ public void addWatchTvReserveAlarm( String programId, String seriesId, String programTitle, String programBroadcastingStartTime) { // Realm Database ********************************************************************** // Obtain a Realm instance Realm realm = Realm.getInstance(mContext); // remove all realm.beginTransaction(); WatchTvObject obj = realm.createObject(WatchTvObject.class); // Create a new object long iSeq = realm.where(WatchTvObject.class).maximumInt("iSeq") + 1; obj.setiSeq((int) iSeq); obj.setsScheduleSeq(""); obj.setsBroadcastingDate(""); obj.setsProgramId(programId); obj.setsSeriesId(seriesId); obj.setsProgramTitle(programTitle); obj.setsProgramContent(""); obj.setsProgramBroadcastingStartTime(programBroadcastingStartTime); obj.setsProgramBroadcastingEndTime(""); obj.setsProgramHD(""); obj.setsProgramGrade(""); obj.setsProgramPVR(""); // 트랜잭션 종료 realm.commitTransaction(); // Realm Database ********************************************************************** Date startDate = null; Calendar calendar = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { startDate = formatter.parse(programBroadcastingStartTime); } catch (ParseException e) { e.printStackTrace(); } calendar.setTime(startDate); Intent intent = new Intent(mContext, WatchTvAlarmBroadcastReceiver.class); intent.putExtra("programId", programId); intent.putExtra("seriesId", seriesId); intent.putExtra("programTitle", programTitle); intent.putExtra("programBroadcastingStartTime", programBroadcastingStartTime); intent.putExtra("iSeq", String.valueOf(iSeq)); // PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, (int)iSeq, intent, // PendingIntent.FLAG_NO_CREATE); PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, (int) iSeq, intent, PendingIntent.FLAG_ONE_SHOT); // PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, (int)iSeq, intent, // PendingIntent.FLAG_UPDATE_CURRENT ); AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); // alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); }