19集使用alarm保持设备唤醒_第1页
19集使用alarm保持设备唤醒_第2页
19集使用alarm保持设备唤醒_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.保持设备 1.1 、APPActivity 1.保持设备 1.1 、APPActivity ,APP另一个实现方法是在应用程序布局XML 文件android:keepScreenOn FLAGKEEPSCREENON标志,除非你不再想让屏保持幕在你运行的应用RelativeLayout xmlns:android= HYPERLINK http:/s/ http:/spublicclassMainActivity protectedvoidonCreate(Bundle super.onCreate(savedInstan1.2CUP 尽可能短。一个合理的情形下使用wake lock 可能

2、1.2CUP 尽可能短。一个合理的情形下使用wake lock 可能APP 包括使用管理wakelock。1.3结可以 PARTIALWAKELOCKetervce :下面代码使用方法 startWakefulService()启动 entService。 这个方法相startService(),除了当服务开始,WakefulBroadcastReceiver 保持 wake publicclassMyWakefulReceiverextends publicvoidonReceive(Contextent) ent service = newent(context, MystartWakef

3、ulService(context, receiverowerManager = (erManager) getSystemService(WakeLock wakeLock =步是在manifest 文件加上WAKE LOCKuses-.WAKE_LOCK wake ent ent()方法有同样WakefulBroadcastReceiver wake ent ent()方法有同样WakefulBroadcastReceiver ent、启动 Service、甚至启动 Activity AlarmAlarm Service APP publicclassentService public s

4、ic finalNOTIFICATION_ID = 1; privateNotificationManagermNotificationManager;pat.Builderbuilder; public My protectedvoidBundleextras/ 这里是需要保持 CPU 运行才能/WakefulBroadcastReceiver所提供的wakelock APP 生命周期外的操作是服务器同步。同步基于这些条件:来自服务器/设备的新 alarm类型 APP 生命周期外的操作是服务器同步。同步基于这些条件:来自服务器/设备的新 alarm类型当alarm被触发,启动一个ent2.2

5、alarm RTC alarm时钟时间类型较好地适用于依赖当前区域时间的 alarm。 变 ELAPSEDREALTIME- 30分钟内唤醒设备激活alarm, 此后每个30分钟执行一次ERVAL_HALF_HOUR, 2.4RTC 2.4RTC 2:00p.m.唤醒设备,激活alarm, 在同样时间一天重复一次:li v setAlarm(Context context) alarM = ecttmvCex.ALRSEVIC ent = newent(context, Srent =ent.getBroadcast(context,ent,Calendar calendar = Calend

6、ar.getInstance(); 个WakefulBroadcastReceivercalendar.set(Calendar.HOUR_OF_DAY, calendar.set(Calendar.MINUTE, 8:30a.m 唤醒设备,激活alarm,此后每天重复一次,见项目文件 it AlarmManager lag;/p的AlarmManager,提系统alarm服rit ent lrent;/当alarm激活,触发alarm2:00p.m.Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_O

7、F_DAY, 14);/setInexactRepeating()里用 erval 常量,本例、illis(), AlarmManager.ERVAL_DAY, alarmprivate AlarmManager alarmMgr; private Pendingent alarmalarmMgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); ent = newent(context, AlarmReceiver.class);ent = Pendingent.getBroadcast(context, 0,ent

8、,0); SystemClock.elapsedRealtime() 60*1000,publicclassootReceiverextendsBroadcastReceiver2. BroadcastReceiverpublicclassootReceiverextendsBroadcastReceiver2. BroadcastReceiver接收广播1. 在应用程序的manifest 设,这允许app 接收系ACTIONBOOTCOMPLETED (app 至少被用户手动启动一次默认情况下,当设备关机时所有 alarms会被取消。要避免这种情况发生,你可以设计你的应用程序当用户重启设备时

9、自动重启。这个确保AlarmManager持续做它的任务,而用户无需手动重启 alarm.if(alarmMgr!= 取决于app,可能需要有取消alarm的能力.取消alarm, 在AlarmManager上调用 cancel() , 传递到你不想激活的 Pendingent 如:lamMstnxcetn(lrMng.T_KEU,illis(),l/当设备重启,自动重启 ComponentName receiver = new ComponentName(context, Sm = context.getPackageManager();TKLLAComponentNamereceiver=newComponentName(context, m=receiver android:nameComponentNamereceiver=newComponentName(context, m=receiver android:name=.Sent-ent-注意 manifest, 启动设置为 android:enabled=false. 这意味着被调用,除非应用程序显式地打开它. 这会避免启打(如果用户设置ComponentNamereceiver=newComponentName(context, m=覆盖manifest 设置,甚至越过重启.(ala

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论