MacroDroidのユーザー補助サービスの動作を継続

2023-11-06

Android

Androidスマホの自動化に何かと便利なMacroDroid(マクロドロイド)。珍しく課金して使っている。

アプリ操作を自動化するために、UI画面操作という機能をよく使っているのだが、Androidのセキュリティー?で、勝手に機能がオフにされてしまうという問題があった。(たぶん、Android10まではならないが、11からなる)

Androidの設定→その他の設定(機種によって違うかも)→アクセシビリティー→MacroDroidやMacroDroid UI画面操作が機能していませんという表記になってしまう。解除するには、その設定を一度オフにしてもう一度オンにする作業をおこなう

参考情報

  1. MacroDroid 設定
  2. How can I use adb to grant permission without root?

MacroDroidの設定(歯車)に、「ユーザー補助サービスの動作を継続」(参考情報1参照)というのがあり、そこの必要な機能にチェックをいれれば継続してくれそうだが、それだけではだめで、ルート化するか、ADBで設定するかが必要という記載がされている(設定したらでなくなったので、正確な表記はわからない)。で、記載されている通りADBをたたいた

adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS

 のだが、

Exception occurred while executing 'grant':java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.

と言われて通らなかった。だいぶん前に実施したときはあきらめて、都度アクセシビリティーの設定をしていたのだが、実家のスマホで使いたかったので、そういうわけにもいかなくなりもうちょっと調べたところ、参考情報2を見つけた。なんかいけたっぽい

  1. Androidの設定→その他の設定(機種によって違うかも)→開発者オプション(デフォルトではないので、出し方を検索してください)
  2. USBデバッグをON(ADB接続のために必要)
  3. 認可の監視を無効化するをON(今回見つけたところ。参考情報1では、"Disable Permission Monitoring"
この状態でADBをたたくと、何も言わずに終了した。「ユーザー補助サービスの動作を継続」の画面にもルート化やADBの表示がなくなったので、設定されているのではないかと期待したい。
時間がたたないと効果があるかどうかはわからないが、しばらく様子を見る。
なお、上記2,3の設定はADB実施後OFFにした。