MacroDroid + Xiaomi (MIUI) の設定

 先の記事

hikouseki.hatenadiary.jp

 

 で、成り行き上MacroDroid

play.google.com

 

を導入したのですが、これがなかなか面白いです。

試行錯誤しながら、IFTTTAutomateItなども導入したのですが、SNS等の外部との連携は強そうなのですが、個人的にはあまり必要としていなかったことと、フリー版では制限が非常にきついことから、できることがかなり限られていました。(IFTTTは、前記事のスマートプラグと組み合わせるためのレシピ2つを動かしていると、残りは1つしか動かせません。また、バッテリー情報がほとんど取れないなど、意外とやりたいことが出来ません)

MacroDroidは、フリー版だと 5つまでの制限はありますが、トリガーやアクションを複数登録できたり、いろいろかゆいところに手が届く感じ。

最近のAndroidOSの制限上、通常の方法ではいじれなくなってしまった WiFi のオン・オフや、モバイルデータ通信のオン・オフなども、Rootを取ること無く、比較的簡単にいじれるようにする手段があり、またそれがアプリ内で懇切丁寧に説明されています。

例えば、WiFiのオン・オフができるアプリがGooglePlayでは配布できなくなったということで、野良アプリとして公開されているヘルパーアプリを介して動作できるようにしていたり(※もちろん自己責任ですが…)、モバイルデータ通信のオン・オフについても、少しハードルは上がりますが、adbコマンドを叩くことで、利用できるようになります。

 

例えば、自宅から離れたら モバイルデータ通信をONにして、WiFiをOFFに、帰ってきたらその逆を行う、ということがちゃんとできるようになります。

 

adbコマンドによる設定は、改めて私が書くよりは、

sp7pc.com

この辺を参照してもらったほうが良いかと思います。

 

ちなみに、私は AndroidStudio をインストールしていたので、

C:\Users\<ユーザー名>\AppData\Local\Android\Sdk\platform-toolsC:\Users\<ユーザー名>\AppData\Local\Android\Sdk\platform-toolsに adb.exe が入っています。

エクスプローラでこのフォルダに移動して [ファイル]-[Windows PowerShellを開く]として、cmdと打てば、 adb コマンドをすぐ使える状態になります。

 

で、USBでPCに接続した状態で、スマホの開発者向けオプションをONにして、その中のUSBデバッグもONにして、PCから

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

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

を叩けばOK!

・・・というのが基本なのですが、私の使っている端末 Xiaomi Redmi 10 Pro (MIUI 12.5.1)ではそうは行きませんでした。

 

接続はOKなのですが、adbコマンドを叩くと、

* daemon not running; starting now at tcp:5037
* daemon started successfully

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

.........

.........

というエラーになってしまいます。

 

・・・実は、MIUIの場合は、「USBデバッグ(セキュリティ設定)」もONにする必要があるようです。ただし、これをONにするには、「MIアカウントにサインインしろ」と言われるので、まずはMIアカウントを作ってサインインする必要があります。

 

Xiaomi Redmi 10 Pro (MIUI 12.5.1)の場合ですが、

  • 開発者向けオプション → ON
  • USBデバッグ → ON
  • USBデバッグ(セキュリティ設定) → ON
    • MIアカウントへのログインが必要

が必要になります。

 

 

ちなみに、OPPOの端末でも同様に、

  • 開発者向けオプションの「認可の監視を無効化する」をチェック

 の必要があるらしいです。

 

 

 なお、設定が終わったら(adbコマンドが成功したら)、上記の設定はすべてOFFに戻して大丈夫です。(その方が安全です。)Miアカウントからもサインアウトして問題ありません。