Android : AlarmManager is not working properly. It is not able to set the alarm -
here code code set alarm. code tried, unfortunately won't set alarm @ all. please me this. alarmmanager way know set alarm. tell me if there other way. have given necessary permissions in manifest also.
public class nextalarm extends activity { datepicker pickerdate; timepicker pickertime; button buttonsetalarm; textview info; final static int rqs_1 = 1; method date picker , time picker @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_next_alarm); info = (textview)findviewbyid(r.id.info); pickerdate = (datepicker)findviewbyid(r.id.pickerdate); pickertime = (timepicker)findviewbyid(r.id.pickertime); calendar = calendar.getinstance(); pickerdate.init( now.get(calendar.year), now.get(calendar.month), now.get(calendar.day_of_month), null); pickertime.setcurrenthour(now.get(calendar.hour_of_day)); pickertime.setcurrentminute(now.get(calendar.minute)); buttonsetalarm = (button)findviewbyid(r.id.setalarm); buttonsetalarm.setonclicklistener(new view.onclicklistener(){ @override public void onclick(view arg0) { calendar current = calendar.getinstance(); calendar cal = calendar.getinstance(); cal.set(pickerdate.getyear(), pickerdate.getmonth(), pickerdate.getdayofmonth(), pickertime.getcurrenthour(), pickertime.getcurrentminute(), 00); if(cal.compareto(current) <= 0){ //the set date/time passed toast.maketext(getapplicationcontext(), "invalid date/time", toast.length_long).show(); }else{ setalarm(cal); } }}); } private void setalarm(calendar targetcal){ info.settext("\n\n***\n" + "alarm set@ " + targetcal.gettime() + "\n" + "***\n"); intent intent = new intent(nextalarm.this, alarmreceiver.class); pendingintent pendingintent = pendingintent.getbroadcast(nextalarm.this, rqs_1, intent, 0); alarmmanager alarmmanager = (alarmmanager)getsystemservice(context.alarm_service); alarmmanager.set(alarmmanager.rtc_wakeup, targetcal.gettimeinmillis(), pendingintent); finish(); } } _________________________________________________________________ receiver class public class alarmreceiver extends broadcastreceiver { @override public void onreceive(context arg0, intent arg1) { notificationstatus(arg0); } private void notificationstatus(context context) { final notificationmanager mnotificationmanager = (notificationmanager) context.getsystemservice(context.notification_service); final int icon = r.drawable.ic_launcher; final notification notification = new notification(icon, "test", system.currenttimemillis()); final intent notificationintent = new intent(context.getapplicationcontext(), nextalarm.class); final pendingintent pintent = pendingintent.getactivity(context.getapplicationcontext(), 0, notificationintent, 0); notification.setlatesteventinfo(context, "ticker", "title", pintent); mnotificationmanager.notify(1, notification); } } manifest: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ctsprojects.com.alarmapp" > <uses-permission android:name="android.permission.read_external_storage" /> <uses-permission android:name="android.permission.wake_lock" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.write_settings" /> <uses-permission android:name="android.permission.receive_boot_completed" /> <uses-permission android:name="android.permission.internet"/> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.camera" /> <uses-permission android:name="com.android.alarm.permission.set_alarm" /> <uses-permission android:name="android.permission.vibrate" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".mainactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".songlist" android:label="@string/title_activity_song_list" > </activity> <activity android:name=".nextalarm" android:label="@string/title_activity_next_alarm" > </activity> <receiver android:name=".alarmreceiver" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.phone_state"></action> </intent-filter> </receiver> </application> </manifest>
code set alarm alarm manager:
alarmmanager alarmmanager = (alarmmanager) getbasecontext().getsystemservice(alarm_service); intent i1 = new intent(this, receivealarmactivity.class); i1.putextra("key", "value"); pendingintent operation = pendingintent.getactivity(getbasecontext(), 0, i1, pendingintent.flag_one_shot); if (build.version.sdk_int >= 19){ alarmmanager.setexact(alarmmanager.rtc_wakeup, targetcal.gettimeinmillis(), operation); }else{ alarmmanager.set(alarmmanager.rtc_wakeup, targetcal.gettimeinmillis(), operation); } done
Comments
Post a Comment