USER_PRESENT意图原因

时间:2016-06-27 09:13:49

标签: android android-intent camera

我正在构建一个相机应用程序,我也想利用某些设备上的硬件快门。当应用程序已经启动时,按下硬件按钮可以正确捕获照片(使用android.intent.action.CAMERA_BUTTON)。当我看着主屏幕时,按下该按钮也会正确启动应用程序。我的问题是关于锁定屏幕。如果在锁定屏幕激活的情况下按下按钮,我有什么办法可以启动应用程序吗?我没有密码设置,所以在锁定屏幕激活的情况下按下按钮就可以解锁设备。我的感觉是它应该由android.intent.action.USER_PRESENT解决,但它会在每次设备以任何方式解锁时触发。我可以以某种方式检测是否是触发USER_PRESENT广播的相机按钮?或者其他任何方式可以做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

让我们探讨屏幕变得不被遮挡的各种方式。

  1. 用户有意或无意地按下电源按钮(想想 对接拨号)
  2. 应用程序决定取消屏幕空白,例如: 电话应用程序,它会取消屏幕上的来电 消息传递应用程序,例如GoSMS,当屏幕显示时,屏幕显示为空白 消息到达任何其他应用程序可能会这样做
  3. 所有这些都将触发USER_PRESENT意图。所以,答案是否定的 - 你不能依赖这个意图。