「Googleで検索してみたが、有用なものが見つからないようだ」と質問したいので、 この そして この.
質問は、Androidデバイスのセンサーを使用して電話がまっすぐになっている場合にのみカメラから写真を撮ることができますか?
それを行う方法に関するアドバイスを探していますか?
回答:
回答№1は0方位センサーとSensorEventsを使用できるはずです。
方位センサーを使用すると、地球の基準フレーム(特に磁北)に対するデバイスの位置を監視できます。
方位センサーは、以下を使用してデータを取得しますデバイスの地磁気センサーとデバイスの加速度計の組み合わせ。これら2つのハードウェアセンサーを使用して、方位センサーは次の3次元のデータを提供します。
方位角(z軸の周りの回転角度)。 これは磁北とデバイス「sy軸」の間の角度です。たとえば、デバイス「sy軸が磁北と整列している場合、この値は0です。デバイス「sy軸が南を指している場合、この値は180です。 y軸が東を指す場合、この値は90で、西を指す場合、この値は270です。
ピッチ(x軸の周りの回転角度)。 この値は、正のz軸が正のy軸に向かって回転すると正になり、正のz軸が負のy軸に向かって回転すると負になります。値の範囲は180度から-180度です。
ロール(y軸の周りの回転角度)。 この値は、正のz軸が正のx軸に向かって回転すると正になり、正のz軸が負のx軸に向かって回転すると負になります。値の範囲は90度から-90度です。
これらの値を使用すると、電話がどの位置でも「まっすぐ」になったことがわかります。ページの「方位センサーの使用」ヘッダーの下に例があります。 http://developer.android.com/guide/topics/sensors/sensors_position.html#sensors-pos-orient
また見てください http://developer.android.com/reference/android/hardware/SensorEvent.html センサーイベントの使用方法を示しています
回答№2の場合は0
アクティビティで、画像をキャプチャする場所
int i = getResources()。getConfiguration()。orientation;
これにより、モバイルの現在の向きを取得できます。ポートレートの場合は、画像のみをキャプチャします。