Search code examples
androiddatecalendarbroadcastreceiverandroid-alarms

Alarm is setting for UTC timestamp.. Not for my current system time


I am making an Alarm time application.. Alarm is working right... but it is working on based on UTC time. I want to run alarm at my time local time..

I have following code in my startAlarm method of broadcast receiver:

Calendar date1 = Calendar.getInstance();
AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(context, SilentModeOnBroadCastReceiver.class);
        PendingIntent pi = PendingIntent.getBroadcast(context, j, i, PendingIntent.FLAG_UPDATE_CURRENT);
        am.setRepeating(AlarmManager.RTC_WAKEUP, date1.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

Please help me in this


Solution

  • Pass your Local TimeZone to Calender.getInstance() Method

      TimeZone timeZone = TimeZone.getTimeZone("LocalTimeZone");//Your Own Local TimeZone
        Calendar calendar = Calendar.getInstance(timeZone);