I coded an app based on proximity sensor, but I would like to be able to give users the ability to change the sensitivity of the sensor. Is it possible? If yes how to do it?
问问题
8696 次
3 回答
1
只需“实现 SensorEventListener”并遵循代码:
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("My Call IDLE");
CallState = false;
StartAudioSpeacker();
System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
if (audioManager.isSpeakerphoneOn()) {
audioManager.setSpeakerphoneOn(false);
mSensorManager.unregisterListener(this);
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("My Call OFFHOOK");
CallState = true;
StartAudioSpeacker();
System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("My Call RINGING");
break;
}
}
于 2012-05-22T09:09:57.370 回答
0
我不认为这是可能的。接近传感器由操作系统管理。为了保护用户,应用程序不能在没有 root 访问权限的情况下直接更改 os 文件。
于 2012-02-22T21:39:02.890 回答
0
Android 中定义的传感器 API 将接近度定义为布尔值,即 NEAR(1) 或 FAR(0)。通过“灵敏度”,我认为您的意思是接近传感器将接近度报告为 NEAR 的阈值距离。
Android 上的光/接近传感器的更多详细信息。
Android(最高 v4.1 “jelly-bean”)不公开接近距离参数作为其传感器 API 的一部分。
您有以下选择:
修改 sensor-HAL以向接近传感器添加可配置的阈值。
直接与接近传感器驱动程序交互(通常是 sys-fs 条目)。
根据使用的光/接近传感器硬件,
这可能在少数设备上可行,而在其他设备上则不行。
此外,肯定会要求 Android 设备植根于此类“系统级”修改。
于 2012-07-27T07:35:28.010 回答