2010-12-01 13 views
1

の長いの底面が地面を向いているときに、加速度計がゼロのロールを報告するかどうかを決定するにはどうすればよいですか?アンドロイドデバイスが自然に風景や肖像画であるかどうかを確認するにはどうすればよいですか?

私は、ユーザーに特定の位置に電話をかけるように指示することなく、これを行う必要があります。私のような何かを行うことができるように期待しています:

Context.getResources().getConfiguration().getNaturalOrientation == Orientation.LANDSCAPE 

重要:上記のコード行は、可能ではない、それは私がやりたいものの単なる一例です。

答えて

1

を検出するのを助けることができます。 API8以上を使用すると非常に簡単です。Display.getRotation()

0

これは、あなたが、私はこのために答えを見つけ、構成変更

@Override 
     public void onConfigurationChanged(Configuration newConfig) { 
      super.onConfigurationChanged(newConfig); 
      //onConfigurationChanged 
      if (newConfig.equals(Configuration.ORIENTATION_LANDSCAPE)) { 
       //ORIENTATION_LANDSCAPE 
      } else if (newConfig.equals(Configuration.ORIENTATION_PORTRAIT)) { 
       //ORIENTATION_PORTRAIT 
       } 
     } 
+0

これは役に立ちますが、実際には私の質問には答えません。これは、設定が変更されたかどうかを知らせます。私はデバイスが「自然に」風景か肖像画かどうかを知りたい。すなわち、装置が自然な姿勢で保持されている場合、スクリーンの長い縁部が底部または短い縁部にあるかどうか。 – Gallal

+0

実際のパターンに基づいていますか?フォトフレーム/タブレットは常に風景と携帯電話の肖像画であるか、あなたの活動を開始するときに電話機の向きが正しいかを知りたいのですか? –

+0

一部のデバイスは自然な縦向きです。つまり、デバイスの上端(自然に縦長のデバイスなので短いエッジ)が上を向いているときに、向きセンサーを調べると-180になります。自然景観のデバイスであれば、上端(長辺)が上を向いているときにピッチが-180と報告されます。これは、デバイスがlanscapeモードで保持されているときに特定のロール値を想定するアプリケーションに問題を引き起こす可能性があります。おもう! – Gallal

関連する問題