Monday, 15 March 2010

android - alarm not calling after reboot -



android - alarm not calling after reboot -

i had created programme create alarm different date set manually date picker. code working properly.but if reboot losing info , alarm not working how can overcome that

the code used is

int count; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); onclicklistener setclicklistener = new onclicklistener() { @override public void onclick(view v) { /** intent invokes activity demoactivity, in turn opens alertdialog window */ intent = new intent("in.com.example.demoactivity"); /** creating pending intent */ pendingintent operation = pendingintent.getactivity(getbasecontext(), count++, i, intent.flag_activity_new_task); /** getting reference scheme service alarm_service */ alarmmanager alarmmanager = (alarmmanager) getbasecontext().getsystemservice(alarm_service); /** getting reference datepicker object available in mainactivity */ datepicker dpdate = (datepicker) findviewbyid(r.id.dp_date); /** getting reference timepicker object available in mainactivity */ timepicker tptime = (timepicker) findviewbyid(r.id.tp_time); int year = dpdate.getyear(); int month = dpdate.getmonth(); int day = dpdate.getdayofmonth(); int hr = tptime.getcurrenthour(); int min = tptime.getcurrentminute(); gregoriancalendar calendar = new gregoriancalendar(year,month,day, hour, minute); long alarm_time = calendar.gettimeinmillis(); /** setting alarm, invokes operation @ alart_time */ alarmmanager.set(alarmmanager.rtc_wakeup , alarm_time , operation); /** alert set */ toast.maketext(getbasecontext(), "alarm set successfully",toast.length_short).show(); } }; onclicklistener quitclicklistener = new onclicklistener() { @override public void onclick(view v) { finish(); } }; button btnsetalarm = ( button ) findviewbyid(r.id.btn_set_alarm); btnsetalarm.setonclicklistener(setclicklistener); button btnquitalarm = ( button ) findviewbyid(r.id.btn_quit_alarm); btnquitalarm.setonclicklistener(quitclicklistener); }

from activity fragment

public class demoactivity extends fragmentactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); /** creating alert dialog window */ alertdemo alert = new alertdemo(); /** opening alert dialog window */ alert.show(getsupportfragmentmanager(), "alertdemo"); }

}

from here activity create alertbox

public class alertdemo extends dialogfragment {

@override public dialog oncreatedialog(bundle savedinstancestate) { /** turn screen on , unlock keypad when alert dialog displayed */ getactivity().getwindow().addflags(layoutparams.flag_turn_screen_on | layoutparams.flag_dismiss_keyguard); /** creating alert dialog builder */ alertdialog.builder builder = new alertdialog.builder(getactivity()); /** setting title alert dialog */ builder.settitle("alarm"); /** setting content alert dialog */ builder.setmessage("an alarm alarmmanager"); /** defining ok button event listener */ builder.setpositivebutton("ok", new onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { /** exit application on click ok */ getactivity().finish(); } }); /** creating alert dialog window */ homecoming builder.create(); } /** application should exit, if user presses button */ @override public void ondestroy() { super.ondestroy(); getactivity().finish(); }

i want thealarm invoken if reboot device,somebody please help me sort out

you have utilize broadcastreceiver in have check intent.action_boot_completed , reset alarm actions within receiver. example:

public class mybootreceiver extends broadcastreceiver{ @override public void onreceive(context context, intent intent) { if(intent.getaction().equalsignorecase(intent.action_boot_completed)) { //reset alarm here } } }

updated:

use share-preference store data, or can utilize database too. did same using share-preference, check below code:

public class mybootreceiver extends broadcastreceiver{ @override public void onreceive(context context, intent intent) { if(intent.getaction().equalsignorecase(intent.action_boot_completed)) { sharedpreferences mpreferences = context.getsharedpreferences(context.getpackagename(), context.mode_private); string datetime = mpreferences.getstring("date", null); if(!textutils.isempty(datetime)) { utility.setnotification(context);//set alarm here. } } } }

android

No comments:

Post a Comment