大家好,
我正在开发一个紧急呼叫应用程序。我想要的是当有人使用这个特定代码时,手机会解锁,然后只有我的应用程序会运行。我想我需要一个接收器,只是想知道我是否必须为我的应用程序创建自己的主屏幕和锁定屏幕。请对此有任何想法???
提前谢谢了 :)
大家好,
我正在开发一个紧急呼叫应用程序。我想要的是当有人使用这个特定代码时,手机会解锁,然后只有我的应用程序会运行。我想我需要一个接收器,只是想知道我是否必须为我的应用程序创建自己的主屏幕和锁定屏幕。请对此有任何想法???
提前谢谢了 :)
仅执行 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()
您是否真的只关心屏幕状态而不是键盘保护状态。
您可以创建一个 BroadcastReceiver 并将其注册到您的应用程序以侦听Intent.ACTION_SCREEN_OFF
、Intent.ACTION_SCREEN_ON
和Intent.ACTION_USER_PRESENT
。在 SCREEN_OFF 和 USER_PRESENT 之间,手机被锁定。
没有认可的方式来更换锁屏。请参阅有没有办法覆盖锁定模式屏幕?
上一个答案是另一个与这个问题合并的问题:
我会查看ACTION_NEW_OUTGOING_CALL
,以及有关接收器优先级的这篇Android 开发人员博客文章。