步骤1:手机端安装超级终端。或者手机连接adb,并且具有root权限
步骤2:打开adb shell ,输入命令:
su回车
echo空格0空格>空格/sys/devices/virtual/sensors/proximity_sensor/prox_cal回车
echo空格1空格>空格/sys/devices/virtual/sensors/proximity_sensor/prox_cal回车
如果没有返回任何错误信息,则继续
步骤3:用手完全遮挡距离传感器
输入
cat空格/sys/devices/virtual/sensors/proximity_sensor/state一只手完全遮挡距离传感器,一只手回车
返回 255或其他数,无所谓
步骤4:把手拿开再次输入上面命令
返回51(我的是23),也可能是其他数据,只要小于上次数据就ok,记下这个数
步骤5:输入
cat空格/sys/devices/virtual/sensors/proximity_sensor/prox_cal回车
返回0,60,44三组数字,记下0,也就是第一组(我返回的第一组居然是45,可见感应器的问题)
步骤6:将步骤4和步骤5记下的数字相加,51+0=51(我的是23+45=68),将51(我的是68)转为16进制数结果为33(我转换为44),如果你觉得51不靠谱也可以适当增大,我取的是55,十六进制就是37(我最终取的是47)。
步骤7:输入
echo空格-en空格$'\x37'空格>空格/efs/prox_cal回车
\x后面是你计算出的十六进制数字(我最终取的是47),注意en前面有一个“-”
继续输入
chown空格system:system空格/efs/prox_cal回车
chmod空格644空格/efs/prox_cal回车
sync回车
reboot回车
等待重启完成,再试试距离传感器,是不是好了