我想尽code这是我从#1或从任何地方获得,但在 AlarmManager 没有获得成功,我的广播接收器甚至没有得到调用。这里是我的code:
//我AlarmManager是MyDB.Class扩展SQLiteOpenHelper { 的System.out.println(内部AlarmManager); //创建报警经理 AlarmManager alarmMgr0 =(AlarmManager)mContext .getSystemService(Context.ALARM_SERVICE); 的System.out.println(内部alarmMgr0+ alarmMgr0); //创建挂起的意图和放大器;其注册到您的报警通知 //类 意图intent0 =新意图(mContext,AlarmReciever.class); intent0.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent0.putExtra(req_ code,V); // PI); 的PendingIntent pendingIntent0 = PendingIntent.getBroadcast( mContext,V,intent0,0); 的System.out.println(内部pendingIntent0 + pendingIntent0); //设置计时器你想报警工作 日历timeOff9 = Calendar.getInstance(); timeOff9.add(Calendar.DAY_OF_YEAR,scheduleDao1.getMeetingDay()); 的System.out.println(内部如果getDay + scheduleDao1.getDay()); timeOff9.set(的Calendar.MONTH,scheduleDao1.getMeetingMonth()); 的System.out.println(内部如果得到月 + scheduleDao1.getMonth()); timeOff9.set(Calendar.YEAR,scheduleDao1.getMeetingYear()); 的System.out.println(内部如果得到年 + scheduleDao1.getYear()); 如果(scheduleDao1.getFromTimeHr()!= 00){ 的System.out.println(内部如果getFromTimeHr +(scheduleDao1.getFromTimeHr() - 1)); timeOff9.set(Calendar.HOUR_OF_DAY, scheduleDao1.getFromTimeHr() - 1); } timeOff9.set(Calendar.MINUTE, scheduleDao1.getFromTimeMin()); 的System.out.println(内部getMeetingFromTimeMin + scheduleDao1.getFromTimeMin()); timeOff9.set(Calendar.SECOND,0); //设置定时器作为RTC唤醒报警管理器对象 alarmMgr0.set(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(),pendingIntent0); contents.put(ALARM_REQUEST_ code,V); //}我的接收器类是在这里(不得到甚至称)
公共类AlarmReciever扩展广播接收器{ 上下文mContext; INT REQUEST_ code = 0;@覆盖 公共无效的onReceive(上下文的背景下,意图意图){ // TODO自动生成方法存根 mContext =背景; 的System.out.println(内部的onReceive); mContext =背景; REQUEST_ code = intent.getIntExtra(req_ code,0); 的System.out.println(内部REQUEST_ code+ REQUEST_ code);//捆绑额外= intent.getExtras();// REQUEST_ code = extras.getInt(req_ code);//的System.out.println(内部REQUEST_ code+ REQUEST_ code); }}和我的清单code是这样的....
。。。<接收机器人:名字=。AlarmReciever 机器人:启用=真/> < /用途> <使用许可权的android:NAME =android.permission.CALL_PHONE/> <使用许可权的android:NAME =android.permission.VIBRATE/><使用许可权的android:NAME =android.permission.WAKE_LOCK/>我没有得到什么错误与这些code,请别人帮我在这里。
解决方案最后我得到了我想要的,与@kgandroid和放大器的帮助; @rainash在这里,我现在发布我解决code。这是工作的罚款,我和放大器;显示通知。我也可以在这里设置的多个AlarmManager 与我所需要的时间。
\r\r
//创建报警经理\r AlarmManager alarmMgr0 =(AlarmManager)mContext\r.getSystemService(Context.ALARM_SERVICE);\r\r//创建挂起的意图和放大器;其注册到您的报警通知\r//类\r意图intent0 =新意图(报警);\rintent0.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\rintent0.putExtra(req_ code,V); // PI);\r的PendingIntent pendingIntent0 =的PendingIntent\r.getBroadcast(mContext,V,intent0,\rPendingIntent.FLAG_UPDATE_CURRENT);\r\r//设置计时器你想报警工作\r日历timeOff9 = Calendar.getInstance();\rtimeOff9.setTimeInMillis(System.currentTimeMillis的());\rtimeOff9.set(scheduleDao1.getYear(),\r(scheduleDao1.getMonth()) - 1,//月开始从0\rscheduleDao1.getDay(),\r(scheduleDao1.getFromTimeHr()) - 1,//我要1小时前通知者\rscheduleDao1.getFromTimeMin(),0);\r\r//长dateWeGet = Long.valueOf(dateString);\r //设置定时器作为RTC唤醒报警管理器对象\ralarmMgr0.set(AlarmManager.RTC_WAKEUP,\rtimeOff9.getTimeInMillis(),pendingIntent0);\r\rcontents.put(ALARM_REQUEST_ code,V);\r\r\r
I try every code which I got from Stackoverflow or from anywhere, but not getting success in AlarmManager, my BroadcastReceiver not even getting called. Here is my code:
//My AlarmManager is in MyDB.Class extends SQLiteOpenHelper{ System.out.println("Inside AlarmManager"); // Create alarm manager AlarmManager alarmMgr0 = (AlarmManager) mContext .getSystemService(Context.ALARM_SERVICE); System.out.println("Inside alarmMgr0 " + alarmMgr0); // Create pending intent & register it to your alarm notifier // class Intent intent0 = new Intent(mContext, AlarmReciever.class); intent0.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent0.putExtra("req_code", v); // pI); PendingIntent pendingIntent0 = PendingIntent.getBroadcast( mContext, v, intent0, 0); System.out.println("Inside pendingIntent0 " + pendingIntent0); // set timer you want alarm to work Calendar timeOff9 = Calendar.getInstance(); timeOff9.add(Calendar.DAY_OF_YEAR, scheduleDao1.getMeetingDay()); System.out.println("Inside if getDay " + scheduleDao1.getDay()); timeOff9.set(Calendar.MONTH, scheduleDao1.getMeetingMonth()); System.out.println("Inside if getMonth " + scheduleDao1.getMonth()); timeOff9.set(Calendar.YEAR, scheduleDao1.getMeetingYear()); System.out.println("Inside if getYear " + scheduleDao1.getYear()); if (scheduleDao1.getFromTimeHr() != 00) { System.out.println("Inside if getFromTimeHr " + (scheduleDao1.getFromTimeHr() - 1)); timeOff9.set(Calendar.HOUR_OF_DAY, scheduleDao1.getFromTimeHr() - 1); } timeOff9.set(Calendar.MINUTE, scheduleDao1.getFromTimeMin()); System.out.println("Inside getMeetingFromTimeMin " + scheduleDao1.getFromTimeMin()); timeOff9.set(Calendar.SECOND, 0); // set that timer as a RTC Wakeup to alarm manager object alarmMgr0.set(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(), pendingIntent0); contents.put(ALARM_REQUEST_CODE, v); //}My Receiver class is here (Which is not get even called)
public class AlarmReciever extends BroadcastReceiver { Context mContext; int request_code = 0; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub mContext = context; System.out.println("Inside onReceive"); mContext = context; request_code = intent.getIntExtra("req_code", 0); System.out.println("Inside request_code " + request_code); // Bundle extras = intent.getExtras(); // request_code = extras.getInt("req_code"); // System.out.println("Inside request_code " + request_code); } }And my Manifest code is like that....
. . . <receiver android:name=".AlarmReciever" android:enabled="true"/> </application> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />I didn't get what is going wrong with these code please someone help me here.
解决方案Finally i got What i want, with the help of @kgandroid & @rainash Here i post my Solve code now. which is working fine for me & Showing Notifications. And i also able to set here Multiple AlarmManager with my required time.
// Create alarm manager AlarmManager alarmMgr0 = (AlarmManager) mContext .getSystemService(Context.ALARM_SERVICE); // Create pending intent & register it to your alarm notifier // class Intent intent0 = new Intent("alarm"); intent0.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent0.putExtra("req_code", v); // pI); PendingIntent pendingIntent0 = PendingIntent .getBroadcast(mContext, v, intent0, PendingIntent.FLAG_UPDATE_CURRENT); // set timer you want alarm to work Calendar timeOff9 = Calendar.getInstance(); timeOff9.setTimeInMillis(System.currentTimeMillis()); timeOff9.set(scheduleDao1.getYear(), (scheduleDao1.getMonth()) - 1, //Months start from '0' scheduleDao1.getDay(), (scheduleDao1.getFromTimeHr()) - 1,//I want those notification before 1hr scheduleDao1.getFromTimeMin(), 0); // long dateWeGet = Long.valueOf(dateString); // set that timer as a RTC Wakeup to alarm manager object alarmMgr0.set(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(), pendingIntent0); contents.put(ALARM_REQUEST_CODE, v);
更多推荐
我AlarmManager没有得到所谓的
发布评论