时间:2011-04-30 09:36:59

标签: android service broadcastreceiver android-wake-lock

Hii all,

我正在开发紧急呼叫应用程序。我想要的是当一个人使用这个特定的代码时,手机将解锁,然后只有我的应用程序将运行。我想我需要一个接收器,只是想知道我是否需要为我的应用程序创建自己的主屏幕和锁定屏幕。对此有任何想法吗???

非常感谢提前:)

3 个答案:

答案 0 :(得分:2)

只需要做SCREEN_OFF和USER_PRESENT就有一些注意事项 1)如果屏幕自动超时,屏幕关闭后电话没有锁定,有几秒延迟 2)如果屏幕由于其他原因(电话)而关闭,则可能根本没有锁定。 3)你必须一直监视它们,如果你在电话被锁定时启动你就不会知道

您可以使用KeyguardManager http://developer.android.com/reference/android/app/KeyguardManager.html并检查inKeyguardRestrictedInputMode()

另一种选择是使用PowerManager http://developer.android.com/reference/android/os/PowerManager.html并检查isScreenOn(),如果您实际上只关心屏幕状态而非关键守卫状态。

答案 1 :(得分:1)

您可以创建一个BroadcastReceiver并将其注册到您的应用程序,以收听Intent.ACTION_SCREEN_OFFIntent.ACTION_SCREEN_ONIntent.ACTION_USER_PRESENT。在SCREEN_OFF和USER_PRESENT之间,手机被锁定。

答案 2 :(得分:0)

没有经过制裁的方法来更换锁屏。见Is there a way to override the lock pattern screen?

上一个答案是与另一个问题合并的另一个问题:

我会调查ACTION_NEW_OUTGOING_CALL以及this Android开发者博客文章中关于接收者优先级的信息。