Android闹钟开发 问题总结
16lz
2022-04-04
一、设定闹钟要注意的问题
public void updateAlarmSetting(MemoDAO dao) { MemoTime time = dao.updateSetTimes(); AlarmManager alarmManager = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(context,ScheduleService.class); if (time == null) {// 取消闹钟 PendingIntent pendingIntent = PendingIntent.getService(context, ALARM_CODE, intent, PendingIntent.FLAG_CANCEL_CURRENT); alarmManager.cancel(pendingIntent); } else {// 设置新闹钟,覆盖旧的设置 intent.putExtra(MemoTime.Field.MemoId, time.getMemoId()); intent.putExtra(MemoTime.Field.Id, time.getId()); PendingIntent pendingIntent = PendingIntent.getService(context, ALARM_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT); alarmManager.set(AlarmManager.RTC_WAKEUP, time.getTime(), pendingIntent); } }
用来接收闹钟的Receiver或Service必须设为:remote或者:xxx模式
<service android:name="com.fullteem.time.manage.ScheduleService" android:enabled="true" android:process=":remote" > </service>
二、关屏时屏幕的唤醒及音乐播放
在OnResume中唤醒屏幕,并在OnResume最后再初始化MediaPlayer,如果在唤醒之前初始化闹钟,则闹钟可能不响,只会触发界面
@Overrideprotected void onResume() {mWakeLock.acquire();// 这里唤醒锁,用这种方式要记得在适当的地方关闭锁,super.onResume();initPlayer();}
更多相关文章
- android kernel 初始化 2
- Android(安卓)开发之webview页面返回到最顶关闭
- android 闹钟定时任务 AlarmManager
- Android闹钟服务AlarmManager
- Android(安卓)PhotoView 使用教程
- 【Android】数据库 sqLite
- Android自动化工具Monkeyrunner使用(六) —— 根据ID查找对象
- android 首页fragment切换
- android闹钟(五):实现闹钟功能