UiDeviceで提供されている以下のメソッドの挙動についてになります。自分が勘違いしていたこともあったので、一応記載しておきます。

メソッド名称概要
UiDevice.freezeRotation こちらのAPI仕様に記載されているとおり、センサーを停止して画面回転を抑止します。
なので、このメソッドを実行するとUiDevice.unfreezeRotationを実行するまでか、試験が終わるまでユーザによる画面回転ができなくなる。
UiDevice.unfreezeRotation UiDevice.freezeRotationで抑止した画面回転を可能する。
設定アプリにて画面方向を固定にしている場合、抑止され続ける
UiDevice.setOrientationLeft/Right 強制的に画面を回転させる。設定アプリで画面方向を固定にしていても回転される。
UiDevice.freezeRotationで画面回転を抑止されていても、回転される。
ただし画面方向が固定のActivityは回転されない。

上記の結果を見る限り、UiDevice.freezeRotationの使い道が試験中に勝手にデバイスを触られたことによる画面回転の抑止ぐらいしか思いつきませんでした。

コメントの投稿