2013-04-30 63 views
0

我正在研究一个闹钟程序(对于我来说,作为一个学习项目,市场上有很多闹钟)。当我的设备被锁定模式锁定时,警报响起时应该发生什么样的预期行为?当警报响起并且设备解锁时,会出现一个对话框以及声音。当然,这个对话框将无法显示模式锁定,对吗?这可能是我可以编写一个锁屏小部件以允许与声音警报交互的类型吗?任何其他巧妙的选项,以允许用户在设备锁定时禁用闹钟?只是在这里寻找想法和指导。android设备锁定,但想要闹铃声和对话框出现

回答

2

你是错误的......我在我的一个应用程序中这样做。所有你需要做的就是在你的活动设置一些标志,如

WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 

看到这个帖子:

Android activity over default lock screen

+0

哇!我不知道。我确信这会造成某种安全漏洞,因此被禁止。谢谢:) – MrGibbage 2013-04-30 12:34:58

+0

我本来以为同样的事情,我自己。很高兴我能帮助! – dberm22 2013-04-30 14:50:24

1

预期的行为是在屏幕上有一个可以尽快停止声音的按钮。想象一下,当你刚刚醒来,仍然困倦,试图找出解锁模式,然后找到窗口部件来停止声音......我不在乎我的手机是锁定还是不锁定,我想关闭该死的一次报警。

总之,给用户一次触碰停止声音的机会。如果有必要的话,解锁屏幕:它会比在6AM尖叫时探索手机的结果少烦恼。

+0

完全同意。我只是不认为这是可能的。 – MrGibbage 2013-04-30 12:42:11

1

1.You不应该用对话的主题。 2.您应该使用全屏主题。

这里是代码:

@Override 
    public void onAttachedToWindow() { 
    Window window = getWindow(); 

    window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON 
      | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
      | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
      | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
      | WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    super.onAttachedToWindow(); 
}