【发布时间】:2011-03-06 22:47:43
【问题描述】:
我正在制作一个需要在用户摇动手机时打开/关闭屏幕的应用。到目前为止,我已经有了一个 SensorEventListener,它可以按照this question 的答案中的建议来监听震动。
当我检测到抖动时,我会按照this question's answer 中的建议更改屏幕亮度值。如果我实际上不关闭屏幕,这一切都很好......如果我通过public void setBright(float value) 方法将亮度设置为0.01f,它会完美运行。但是,如果我将亮度设置为 0.0f,手机将不会再次转动屏幕……至少在我按下电源按钮之前不会。
我正在尝试做的事情可能吗?我做错了什么?
-- 编辑--
感谢Dre 和icyerasor 我已经进一步调查了这个问题。我在将亮度设置为 0.0f 之前获得了PARTIAL_WAKE_LOCK,但是当我摇晃手机时它仍然无法打开。但是,当我调试应用程序时,我发现当我在屏幕关闭的情况下摇动手机时 setBright(1.0f) 会被调用;我怀疑锁屏在某种程度上弄乱了它,因为当我按下电源按钮时它就会启动。在我按下电源按钮后,该应用程序继续像往常一样工作。有没有办法绕过锁屏?
感谢您的帮助!
【问题讨论】:
-
这个要求你成功了吗?
-
抱歉,我的要求发生了变化,这对我的项目来说不再是问题。我的最后一个猜测是最好的:如果您停用锁屏,它可能会起作用。
-
我遇到了和你类似的问题。但是我想知道当屏幕关闭时您是如何检测设备的抖动事件的。
-
我已经很久没有研究这个问题了,但我记得,我只是使用了一个 SensorEventListener 并遵循了答案中提供的建议。
标签: android sensors brightness