precio caracteristicas camara iphone api sensor proximity

caracteristicas - Sensor de proximidad para iPhone



iphone 6 (13)

¿Puede el iPhone SDK aprovechar los sensores de proximidad del iPhone? Si es así, ¿por qué nadie se ha aprovechado de ellos? Podría imaginar algunos usos decentes.

Por ejemplo, en un juego de carreras, puede poner su dedo en el sensor de proximidad para ir en lugar de tomar la pantalla de bienes raíces con el pulgar. Sin embargo, por supuesto, si esta fuera su única opción, los usuarios de iPod touch no podrían usar la aplicación.

¿El sensor de proximidad le dice qué tan cerca está o simplemente que algo está delante de él?



El sensor de proximidad funciona midiendo la reflectancia IR. Si mantienes el iPhone en una cámara web, puedes ver un pequeño LED pulsante IR.


En iPhone 3.0 hay soporte oficial para el sensor de proximidad. Eche un vistazo a UIDevice proximityMonitoringEnabled en los documentos.


Esos sensores de proximidad son básicamente una matriz de conductores. Los "cables" verticales son pistas en un lado de una lámina delgada de aislante, los horizontales están en el otro lado. Las intersecciones funcionan como condensadores. Su dedo lleva una carga electrostática, por lo que la capacitancia de cada unión varía con la proximidad. Los FET amplifican la señal y la polarización establece un umbral. En la práctica, el circuito es más complejo porque tiene que detectar un cambio relativo y rechazar el ruido.

Pero de todos modos, lo que la rejilla del sensor le dice es que se ha detectado un efecto de campo, y ese efecto de campo es característico de un objeto del tamaño de una yema del dedo y que descansa sobre la superficie de la pantalla. El centroide de la perturbación capacitiva se calcula (probablemente por hardware) y las coordenadas se informan (presumiblemente) como números en un puerto que muy probablemente atrajeron la atención del sistema operativo del dispositivo mediante una interrupción. En algo tan sexy como un iPhone, probablemente haya un buffer de la última docena de posiciones para que pueda calcular la dirección y la velocidad. Probablemente estos también se computen por hardware y se presenten como números en el mismo puerto.


Evidentemente, el sensor de proximidad nunca se encenderá si la barra de estado está en orientación horizontal. es decir, si llamas:

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;

Ya no obtendrá la proximidad: notificaciones ON .

Esto definitivamente ocurre en OS 3.0, no puedo probarlo en un dispositivo 2.X ya que no tengo uno con un sensor de proximidad.

Esto parece un error.


Existe una gran confusión entre el sensor de proximidad y el sensor de luz ambiental. El iPhone tiene ambos. El Touch no tiene un sensor de proximidad, por lo que es una mala elección para la entrada del usuario. De todos modos, sería una mala idea, ya que Apple no está obligada a ubicarlo en el mismo lugar en dispositivos futuros; se supone que no debes saber ni importa dónde está.

El sensor de proximidad funciona pulsando un LED infrarrojo y midiendo la cantidad de reflectancia. Puede ver esto usando su cámara iSight (la mayoría de las cámaras digitales son sensibles a IR). Simplemente inicie Photo Booth, inicie una llamada (o reproduzca un correo de voz) en el teléfono y apúntelo a su cámara iSight. Tenga en cuenta la luz parpadeante al lado del auricular; cúbralo con su dedo y la pantalla se pondrá negra.

La API del sensor de luz ambiental es evidentemente privada en este punto.


Hay una API pública para esto. - [UIApplication setProximitySensingEnabled: (BOOL)] activará la función. Por cierto, no parece estar usando el sensor de luz, porque la detección de proximidad se modificaría en una habitación oscura.

Sin embargo, la llamada API básicamente tapa la pantalla cuando mantienes el teléfono en tu cara. No es útil para la interacción, por desgracia.


No hay una API pública para esto.


Para apagar la pantalla, es concebible que se usen más de un sensor para determinar si la pantalla debe apagarse o no. El sensor de proximidad IR descrito por Cryptognome junto con el sensor de pantalla táctil descrito por Peter Wone podría funcionar si el iphone se lleva a cabo cerca de su cara (u otra cosa con una ligera carga eléctrica) o si está muy cerca de algo en -animar.



Solo para actualizar, esto es posible.

device = [UIDevice currentDevice]; // Turn on proximity monitoring [device setProximityMonitoringEnabled:YES]; // To determine if proximity monitoring is available, attempt to enable it. // If the value of the proximityMonitoringEnabled property remains NO, proximity // monitoring is not available. // Detect whether device supports proximity monitoring proxySupported = [device isProximityMonitoringEnabled]; // Register for proximity notifications [notificationCenter addObserver:self selector:@selector(proximityChanged:) name:UIDeviceProximityStateDidChangeNotification object:device];

Como señala benzado, puedes usar:

// Returns a BOOL, YES if device is proximate [device proximityState];


Suponiendo que se refiera al sensor que apaga la pantalla cuando se lo lleva a la oreja, estoy bastante seguro de que es solo un sensor de infrarrojos dentro del parlante. Si enciende la aplicación del teléfono (no es necesario que realice una llamada) y sostiene algo para ensombrecer el parlante, puede apagar la pantalla.

Cuando hizo esta pregunta, no fue accesible a través de la API pública. Ahora puede acceder al estado del sensor a través de la propiedad stateState de UIDevice. Sin embargo, no sería tan útil para juegos, ya que es solo una cosa de encendido / apagado, no una medida de cerca / lejos. Además, solo está disponible en el iPhone y no en el iPod touch.


Evidentemente, el sensor de proximidad nunca se encenderá si la barra de estado está en orientación horizontal. es decir, si llama: [UIApplication sharedApplication] .statusBarOrientation = UIInterfaceOrientationLandscapeLeft; Ya no obtendrá proximidad: notificaciones ON. Esto definitivamente ocurre en OS 3.0, no puedo probarlo en un dispositivo 2.X ya que no tengo uno con un sensor de proximidad. Esto parece un error. respondió jul 22 ''09 a 5:49 Kevin Lambert

He encontrado este problema también. Me tomó mucho tiempo descubrir la verdadera razón de por qué el sensor de proximidad no funciona. Cuando la orientación es UIInterfaceOrientationLandscapeLeft o UIInterfaceOrientationLandscapeRight, el sensor de proximidad no funciona; mientras que en modo retrato funciona bien. Mi iPhone es iPhone 4S (iOS SDK 5.0).