I'm making an alarm
I want to set a one-time alarm. But I ran into the problem of installing tat,
My code is:
public void loadCalender(String month) { try { Cursor cursor = null; Database db = new Database(getApplicationContext()); cursor = db.getSelectedCalenderDetails(month); if (cursor.getCount() != 0) { if (cursor.moveToFirst()) { do { String text = cursor.getString(cursor .getColumnIndex("event")); String title = "News/Events"; String dates = cursor.getString(cursor .getColumnIndex("date")); String yr = dates.substring(0, 4); int year = Integer.parseInt(yr); String mon = dates.substring(5); String mo = mon.substring(0, 2); int months = Integer.parseInt(mo); String da = dates.substring(9); int day = Integer.parseInt(da); // Ask our service to set an alarm for that date, // this // activity talks to the client that talks to the // service set_alarm(year, months, day, title, text); System.out.println(dates); } while (cursor.moveToNext()); } } cursor.close(); } catch (Exception e) { e.printStackTrace(); } // looping through All Contacts } public void set_alarm(int year, int month, int day, String title, String text) { SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); // etc Calendar cal = Calendar.getInstance(); int hour = prefs.getInt("PREF_HOUR", 0); int min = prefs.getInt("PREF_MIN", 0); if(hour == 0 && min == 0){ cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.YEAR, year); cal.set(Calendar.DAY_OF_MONTH, 7); cal.set(Calendar.HOUR_OF_DAY, 15); cal.set(Calendar.MINUTE, min); }else { cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.YEAR, year); cal.set(Calendar.DAY_OF_MONTH, hour); cal.set(Calendar.HOUR_OF_DAY, min); cal.set(Calendar.MINUTE, min); } Intent intent = new Intent(getApplicationContext(), AlarmActivity.class); intent.putExtra("title", title); intent.putExtra("text", text); PendingIntent pendingIntent = PendingIntent.getBroadcast( getApplicationContext(), 1, intent, PendingIntent.FLAG_ONE_SHOT); AlarmManager alarmManager = (AlarmManager) getApplicationContext() .getSystemService(getApplicationContext().ALARM_SERVICE); /* * alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), * pendingIntent); */ alarmManager.cancel(pendingIntent); // cancel any existing alarms alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pendingIntent); }
Here the alarm is always activated when the application is open ...
Wat error i made in my code .. plz help me set a one-time alarm
Thank you in advance
source share