2017-08-31 11 views
0

通常のアクティビティベースのアプリケーションで作業しています。 デバイスの設定からデバイスの向きをオフにしました。 アプリを端末で実行すると、端末の動きに基づいてアプリの向きが変わります。 デバイスの向きがロックされていてもアプリがどのように回転するのかわからない。 スタックオーバーフローやその他のフォーラムで報告された、またはこれまでに尋ねられたインスタンスや問題はありません。 私が紛失している可能性があることを指摘してください。デバイスの向きがロックされていてもアプリケーションの自動回転

答えて

0

それは非常に愚かな間違いだったが、私は他のいずれかがこの問題に直面している場合には、ここで共有すると考えます。時点 は、私のアプリケーションでは、私がSCREEN_ORIENTATION_FULL_SENSORにプログラムでデバイスの向きを設定しました:

activityContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); 

これは、ユーザーがデバイスの向きをロックしている場合でも、センサーに基づいて、アプリが向きを変更することができます。

0

あなたは、デバイスの回転がオフになっているかどうかを確認またはオンし、それをロックすることができ、このように:

if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){ 
    //Auto Rotate is on, so don't lock 

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
} 
else{ 
    //Auto Rotate is off, so lock 

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 
+0

私の活動をロックしたくないです。デバイスの向きがデバイス設定でロックされていない場合にのみ、向きを変更できるようにします。 – LoveForDroid

+0

私は自分の答えを編集しました。これはあなたに役立つかどうかを確認してください – MrAppMachine

+0

なぜ私は最初の場所にロックする必要がありますか?デバイスの向きがロックされている場合、私のアプリは回転しません。それは簡単です。 – LoveForDroid

関連する問題