我需要制作一个应用程序来设置本周的日历,
基本上,用户将输入一周中每天的活动的开始时间和结束时间。
他只会做一次。
在设置之后,应用程序(我将使用AlarmManager
)将在设定的小时开始他的活动(持续播放视频)并完成设定的小时:
一周中的每一天;
永远,
没有人为干预(当然必须打开手机/平板电脑并接通电源)。
我关注的是:
alarmmanger
是否可以在早上启动设备以启动活动(播放视频)而无需用户进行任何互动?
使用
的聪明建议 WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE);
Window window = getWindow();
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);
在Eclipse中给我带来了很多错误:
答案 0 :(得分:6)
是的你我可以尝试类似的东西,但不完全..我试着每天上午9点调用设备来下载我使用这段代码的内容
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
wl.release();
这是我的实施: 用于设置Alaram
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.MINUTE, 10);
calendar.add(Calendar.SECOND, 00);
//alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*1, pi);
BroadcastReciever:
Register BroadcastReciever:
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
// Put here YOUR code.
Intent startAutoSyncService = new Intent(context,
AppoinmentService.class);
context.startService(startAutoSyncService);
wl.release();
答案 1 :(得分:2)
是警报是gd选项。如果设备被锁定,请使用密码锁解除..
Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
在发出警报时&启动您在调用警报时想要的视频/音频活动或屏幕
设备重启您需要重置闹钟
答案 2 :(得分:1)
是的,如果您使用ELAPSED_REALTIME_WAKEUP
或RTC_WAKEUP
作为闹钟类型,则会这样做。