我目前使用HTC Wildfire手機的接近傳感器。問題是如果傳感器前面1釐米內有物體,它只會返回一個布爾值。帶增強型接近傳感器的Android手機
所以,我想問問,如果有一個在具有接近傳感器,它能夠返回實際距離值(釐米)市面上的Android手機,而不是一個布爾..
謝謝
我目前使用HTC Wildfire手機的接近傳感器。問題是如果傳感器前面1釐米內有物體,它只會返回一個布爾值。帶增強型接近傳感器的Android手機
所以,我想問問,如果有一個在具有接近傳感器,它能夠返回實際距離值(釐米)市面上的Android手機,而不是一個布爾..
謝謝
是的,可以從手機表面獲得實際距離。
事實上,所有的硬件傳感器DO都提供這些信息。但不幸的是,Android中定義的傳感器API將接近度定義爲布爾值,即NEAR(1)或FAR(0)。
要從實際距離獲得布爾讀數,將從接近傳感器硬件獲得的距離與閾值進行比較。這通常在傳感器-HAL中完成。
另外一些光/接近傳感器 - 硬件IC本身提供接近布爾值。在這種情況下,閾值可以在硬件中配置。硬件將獲得的每個樣本與內部閾值進行比較,然後報告布爾「鄰近度」。
無論使用何種傳感器硬件,Android(upto v4.1「jelly-bean」)都不會將接近距離參數作爲其傳感器API的一部分公開。可以修改傳感器-HAL或嘗試直接與接近傳感器驅動程序交互(通常是sys-fs條目)。
真的很好的解釋! – gtiwari333 2012-10-12 11:25:26
這不是一個真正的編程問題 – 2011-06-16 13:29:57
也許......也許不是。但這是一個很好的問題,我也想回答一個問題。爲了編程,不必爲了查看一行代碼是否有效而購買市場上的所有手機。 – 2012-02-17 08:21:05