【OPPO】画面を傾けたときに表示される回転ボタンを無効にする
TL;DR
- 開発者オプションから「USB デバッグ」「認可の監視を無効化」を ON にする
- adb コマンドで
adb shell settings put secure show_rotation_suggestions 0
を実行する。
はじめに
YouTube などのアプリを開いていて、縦持ちから横持ちにしたときに左下に表示されるこれ ↓
YouTube ではこのアイコンがホーム画面へのアイコンに重なります。ホームへ移動したつもりが表示が急に横になったときの恐怖と来たら、お化け屋敷の比ではありません。
恐ろしいことに、ColorOS の設定画面にはこれを OFF にする項目はありません。※自動回転は OFF にできます。多分 OPPO の ColorOS 開発者は OPPO スマホを使っていません。エアプです。
端末、OS 情報
- デバイス名
- OPPO Reno% A
- ColorOS バージョン
- V11
- ビルドバージョン
- A101OP_11_A06
- Android バージョン
- V11
設定方法
USB デバッグを ON にする
USB と PC で接続する
USB の使用目的は「ファイルを転送 / Android Auto」を選択しました。他の選択してもできるかもしれません。
adb コマンドを実行して「secure show_rotation_suggestions」を変更する ※失敗
コマンド実行
画面の回転の提案を参考に adb コマンドを実行します。
adb shell settings put secure show_rotation_suggestions 0
※同ページの一番下にあるadb shell settings put secure num_rotation_suggestions_accepted 0
と間違えないように
adb コマンドがない人は他の記事を参考に PC にインストールしてください。
Permission Denial で弾かれる
Exception occurred while executing 'put':
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2393)
at com.android.providers.settings.SettingsProvider.mutateSecureSetting(SettingsProvider.java:1792)
at com.android.providers.settings.SettingsProvider.insertSecureSetting(SettingsProvider.java:1743)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:526)
at android.content.ContentProvider.call(ContentProvider.java:2448)
at android.content.ContentProvider$Transport.call(ContentProvider.java:517)
at com.android.providers.settings.SettingsService$MyShellCommand.putForUser(SettingsService.java:375)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:277)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:49)
at android.os.Binder.shellCommand(Binder.java:936)
at android.os.Binder.onTransact(Binder.java:820)
at android.os.Binder.execTransactInternal(Binder.java:1166)
at android.os.Binder.execTransact(Binder.java:1130)
開発者モード -> USB デバッグ(セキュリティ設定)を許可にすれば良いとの情報を見たが、Color OS にその項目はない。
「認可の監視を無効化」を ON にする
Mi mobile phone and oppo mobile phone appium reported an error when starting: writing to settings requires: android.permission.WRITE_SECURE_SETTINGSを参考に認可の監視を無効化を ON にする
この項目は「USB デバッグ」の章から遠く下にスクロールした「アプリ」の章の一番下にあります。これも多分開発者のエアプによるものです。
再度コマンド実行
adb shell settings put secure show_rotation_suggestions 0
実機上で回転ボタンが表示されなくなりました。
adb shell settings list secure
で確認すると、実行前にはなかったshow_rotation_suggestions=0
が新たに作成されていました。
これで OK です。