如何启用机器人接近传感器 [英] How to enable proximity sensor in android
问题描述
我在code配置成功着陆高度表。现在,我想转断&在屏幕上编程。传感器的code的工作就好了下面的方法也越来越被调用。
I have configured proximeter successfully in my code. Now I want to turn off & on screen programmatically. Code of sensor is working just fine and following method is also getting called.
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
WakeLock screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"screenWakeLock");
if (event.values[0] == 0) {
screenWakeLock.acquire();
Log.e("onSensorChanged","NEAR");
} else {
if (screenWakeLock != null) {
if(screenWakeLock.isHeld())
screenWakeLock.release();
screenWakeLock = null;
}
Log.e("onSensorChanged","FAR");
}
}
我的问题是,屏幕是没有得到关闭。我也开始加入在code所需的权限。还有什么可能是原因???
My problem is that screen is not getting turn off. I also have added required permission in code. What else could be the reason ???
推荐答案
由于从我的理解 wakelock
是有用的,以保持屏幕上。我没有成功打开屏幕和放大器;关闭使用它。
As from my understanding wakelock
is useful to keep screen on. I wasn't successful to turn screen on & off using it.
所以,首先我调暗屏幕亮度尽可能低的水平,然后作出一切GUI元素不可点击。这样,我解决我的问题。
So, first I dimmed screen brightness as low as possible and then made all GUI elements unclickable. This way I solved my problem.
以下是方法:
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
WindowManager.LayoutParams params = this.getWindow().getAttributes();
if (event.values[0] == 0) {
//TODO Store original brightness value
params.screenBrightness = 0.004f;
this.getWindow().setAttributes(params);
enableDisableViewGroup((ViewGroup)findViewById(R.id.YOUR_MAIN_LAYOUT).getParent(),false);
Log.e("onSensorChanged","NEAR");
} else {
//TODO Store original brightness value
params.screenBrightness = -1.0f;
this.getWindow().setAttributes(params);
enableDisableViewGroup((ViewGroup)findViewById(R.id.YOUR_MAIN_LAYOUT).getParent(),true);
Log.e("onSensorChanged","FAR");
}
}
从这里,我参考了禁用触控对于整个屏幕的看法。
From here, I took reference to disable touch for entire screen's view.
这篇关于如何启用机器人接近传感器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!