我AlarmManager没有得到所谓的

编程入门 行业动态 更新时间:2024-10-28 01:12:05
本文介绍了我AlarmManager没有得到所谓的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想尽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);                //创建挂起的意图和放大器;其注册到您的报警通知                //类                意图int​​ent0 =新意图(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意图int​​ent0 =新意图(报警);\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没有得到所谓的

本文发布于:2023-11-27 14:44:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1638500.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:AlarmManager

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!