/ / Scatta foto quando il telefono è dritto - Android, sensori Android, Sensormanager

Scatta foto quando il telefono è dritto - Android, sensori Android, Sensormanager

Voglio solo fare una domanda perché ho cercato su Google e non riesco a trovare nulla di utile e di cui leggere Questo e Questo.

La domanda è: posso scattare una foto dalla fotocamera solo quando il telefono è dritto utilizzando i sensori nel dispositivo Android?

Sto solo cercando un consiglio su come farlo?

risposte:

0 per risposta № 1

Dovresti essere in grado di utilizzare il sensore di orientamento e SensorEvents.

Il sensore di orientamento consente di monitorare la posizione di un dispositivo relativo> al telaio di riferimento della Terra (in particolare, il nord magnetico).

Il sensore di orientamento ricava i suoi dati usandoun sensore di campo geomagnetico> del dispositivo in combinazione con l'accelerometro di un dispositivo. Utilizzando questi due> sensori hardware, un sensore di orientamento fornisce i dati per le seguenti> tre dimensioni:

Azimuth (gradi di rotazione attorno all'asse z). Questo è l'angolo tra il nord magnetico e l'asse del dispositivo. Ad esempio, se l'asse del dispositivo è allineato con il nord magnetico questo valore è 0, e se l'asse del dispositivo è rivolto verso sud questo valore è 180. Analogamente, quando l'asse y punta verso est questo valore è 90 e quando punta verso ovest questo valore è 270.

Pitch (gradi di rotazione attorno all'asse x). Questo valore è positivo quando l'asse z positivo ruota verso l'asse y positivo ed è negativo quando l'asse z positivo ruota verso l'asse y negativo. L'intervallo di valori è compreso tra 180 gradi e -180 gradi.

Rotolo (gradi di rotazione attorno all'asse y). Questo valore è positivo quando l'asse z positivo ruota verso l'asse x positivo ed è negativo quando l'asse z positivo ruota verso l'asse x negativo. L'intervallo di valori è compreso tra 90 gradi e -90 gradi.

Usando questi valori dovresti essere in grado di dire quando il telefono è "dritto" in qualsiasi posizione. Ci sono degli esempi nella pagina sotto l'intestazione "Using the orientation sensor": http://developer.android.com/guide/topics/sensors/sensors_position.html#sensors-pos-orient

Guarda anche http://developer.android.com/reference/android/hardware/SensorEvent.html che mostra come utilizzare gli eventi del sensore


0 per risposta № 2

Nella tua attività, dove stai catturando l'uso delle immagini

int i = getResources (). getConfiguration (). orientation;

attraverso questo, si otterrà l'orientamento corrente del cellulare, se è ritratto, catturerà solo l'immagine.