logo
/
【OPPO】画面を傾けたときに表示される回転ボタンを無効にする
2022-04-09
ブログ

TL;DR

  • 開発者オプションから「USB デバッグ」「認可の監視を無効化」を ON にする
  • adb コマンドで adb shell settings put secure show_rotation_suggestions 0を実行する。

はじめに

YouTube などのアプリを開いていて、縦持ちから横持ちにしたときに左下に表示されるこれ ↓
rotate.jpg
YouTube ではこのアイコンがホーム画面へのアイコンに重なります。ホームへ移動したつもりが表示が急に横になったときの恐怖と来たら、お化け屋敷の比ではありません。
恐ろしいことに、ColorOS の設定画面にはこれを OFF にする項目はありません。※自動回転は OFF にできます。多分 OPPO の ColorOS 開発者は OPPO スマホを使っていません。エアプです。

端末、OS 情報

  • デバイス名
    • OPPO Reno% A
  • ColorOS バージョン
    • V11
  • ビルドバージョン
    • A101OP_11_A06
  • Android バージョン
    • V11

設定方法

USB デバッグを ON にする

debug_01-min.jpg

USB と PC で接続する

USB の使用目的は「ファイルを転送 / Android Auto」を選択しました。他の選択してもできるかもしれません。

adb コマンドを実行して「secure show_rotation_suggestions」を変更する ※失敗

コマンド実行

画面の回転の提案を参考に adb コマンドを実行します。
$1adb 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 にする debug_02-min.jpg
この項目は「USB デバッグ」の章から遠く下にスクロールした「アプリ」の章の一番下にあります。これも多分開発者のエアプによるものです。

再度コマンド実行

$1adb shell settings put secure show_rotation_suggestions 0
実機上で回転ボタンが表示されなくなりました。 adb shell settings list secureで確認すると、実行前にはなかったshow_rotation_suggestions=0が新たに作成されていました。 これで OK です。

関連