スタンバイから電話のロックを解除するときに、Androidアプリで自動画面回転を停止するにはどうすればよいですか
-
30-09-2019 - |
質問
ランドスケープモードで常に実行したいAndroidアプリケーションがあります。
アプリを常にランドスケープモードに保つために、次のコードを実装しています。
アプリケーションでの私のアクティビティ内
Android:scuentorientation = "landscape"
これは、アプリケーションの全期間、アプリケーションをランドスケープビューに起動し、維持するようです。完全!
ただし、HTC Aria(Android 2.1)でアプリを実行している場合(Android 2.1)、電話のロックがロックされている場合、電話のロックを解除すると、おそらく0.5秒間アプリケーションが表示され、ポートレートオリエンテーションで、すぐにランドスケープモードに戻ります。私の意見はすべて混乱しており、あなたが想像できるように専門的でないように見えるので、それは非常にイライラします。これは、エミュレータと私の実際の電話の両方で発生します。
電話のロックが解除されたときに、アプリケーションが一時的に回転するのを防ぐ方法を知っている人はいますか?
追加:
私はonconfigurationChanged()をオーバーライドしようとしましたが、成功しませんでした。
また、setRequestedOrientation(ActivityInfo.screen_orientation_landscape)を入れてみました。 onResume()には、アプリは、電話のロックが解除されたときに一瞬誤った方向として表示されます。
解決 2
ランドスケープオリエンテーションのためだけに作られている他の多くのアプリを見た後、私は彼らのアプリもスタンバイの後にオリエンテーションをフリーズしないことがわかります。これは電話の制限であり、すべてのアプリが電話がロックされているときにポートレートオリエンテーションに切り替えると感じています。すべてのアプリにこの「問題」がある場合、修正しないことは許容できると思います。
強制的なポートレートオリエンテーションを止める方法があることがわかった場合は、投稿してください。
他のヒント
マニフェストファイルでオリエンテーションを設定してみてください。それはただ機能するかもしれません。
アプリは、電話のロックが解除されたときに、一瞬誤ったオリエンテーションとしてまだ表示されます。
動いたのですか setContentView(R.layout.main)
に onResume
, 、オリエンテーションコードをどこに置いたのか?オリエンテーションを設定してみてください setContentView()