java - Make switch set a predefined alarm -


i'm building festival app, can reminders specific concerts. don't have idea how this, hope can me out. made switches , layout. need switches activate alarms.

here of code:

package com.example.kjart.borkmusik;  import android.content.intent; import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.view.menu; import android.view.menuitem; import android.view.view; import android.webkit.websettings; import android.webkit.webview; import android.widget.button;  public class mainactivity extends actionbaractivity {      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);            webview mywebview = (webview) findviewbyid(r.id.webview);         mywebview.loadurl("http://www.borkhavnmusikfestival.dk/");         websettings websettings = mywebview.getsettings();         websettings.setjavascriptenabled(true);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item){         switch(item.getitemid()){             case r.id.action_settings:                 intent intent = new intent();                 intent launchnewintent = new intent(mainactivity.this,pamindelse.class);                 startactivityforresult(launchnewintent, 0);                 return true;         }         return false;     } } 


package com.example.kjart.borkmusik;  import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.view.menu; import android.view.menuitem;   public class pamindelse extends actionbaractivity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_pamindelse);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_pamindelse, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.layout.activity_pamindelse) {             return true;         }          return super.onoptionsitemselected(item);     } } 


package com.example.kjart.borkmusik;  import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.view.menu; import android.view.menuitem;   public class pamindelse extends actionbaractivity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_pamindelse);     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_pamindelse, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.layout.activity_pamindelse) {             return true;         }          return super.onoptionsitemselected(item);     } } 

you reminders using broadcastsreceivers, , can receive push notification when concert start.

// alarmreceiver called when user need reminded.  // , using putextra can save concert data, e.g. concert name. intent intent = new intent(mcontext, alarmreceiver.class); string[] texts = new string[4]; texts[0] = concert_name; intent.putextra("alarm_message", texts);  pendingintent sender = pendingintent.getbroadcast(mcontext, concert_id, intent, 0);  // create alarm manager alarmmanager = (alarmmanager) mcontext.getsystemservice(context.alarm_service); am.set(alarmmanager.rtc_wakeup, concert_time_in_millis, sender); 

alarmreceiver.class

public class alarmreceiver extends broadcastreceiver {      @override     public void onreceive(context context, intent intent) {              // retrieve concert data, e.g. concert title             string[] message = intent.getstringarrayextra("alarm_message");             charsequence concerttitle = message[0];             charsequence messagetext = "the concert starting";             long when = system.currenttimemillis();              notificationmanager mnotificationmanager = (notificationmanager) context                     .getsystemservice(context.notification_service);              notification notification = new notification(r.drawable.ic_launcher, concerttitle, when);             notification.flags |= notification.flag_auto_cancel;  // open activity open clicked on push notification             intent = new intent(context, mainactivity.class);             i.setflags(intent.flag_activity_new_task);              pendingintent pendingintent = pendingintent.getactivity(context, (int) when, i, pendingintent.flag_one_shot);             notification.setlatesteventinfo(context, concerttitle, messagetext, pendingintent);              mnotificationmanager.notify(1, notification);     }  } 

Comments