「LINEの内部ブラウザでYouTubeとか見れない状態」を作りたい、という試行錯誤(1日目)

に公開

背景

私は、異常なデジタルデトックス狂いであり、2カ月前までスマホを持っていませんでした。
しかし、愛用していたガラケーをなくしたことを機に、しぶしぶスマホを購入。

その後、スマホ生活になったのですが、やはり手元にあると、スマホを見すぎてしまいます...。
そこで、スマホを買って1週間後、すぐに、UBhindというスマホ制限アプリを入れました。

https://play.google.com/store/apps/details?id=kr.co.rinasoft.howuse&hl=ja

このアプリで、例えばXやYahoo!,YouTubeなど、アプリごとに利用時間制限ができます。
よし!これで、SlackやLINE, Gmailなどの必要最低限のアプリしか見れないスマホを作って生活を整えるぞ! と意気込んだのですが...。

ある日、私は気づきました。
あれ、LINEで送られてきたYouTubeのリンクを踏んだら、なんかよくわかんないけどYouTube見れちゃうじゃん!

その日からまた、毎日、LINEからYouTubeやXを見る生活に戻ってしまったのでした...。

(↑ちなみにこの気づきは、友人に聞いたところ、中高生くらいで人々が経験する気づきらしい)

やりたいこと

スマホ版のLINEで、LINEの内部ブラウザでYouTubeを見れなくするのが目標です。
そもそもLINEの内部ブラウザとは何か?ということについては以下の記事を参考にしてください。
https://linestep.jp/2023/09/15/lstep-dispray-method/

なお私のスマホは、Androidで、機種はRedmi 5Gです。

とりあえず10分ごとに進捗を記します

0分経過

前から試してみたかったやり方としては、「MacroDroid」というアプリを使った対策があります。
MacroDroidとは、Androidに特化した自動化アプリで、UI操作の自動化なども行えるようです。
https://play.google.com/store/apps/details?id=com.arlosoft.macrodroid&hl=ja

このアプリを使って、以下のようなことができたらなーと妄想しています

while True:
    if LINEが起動している:
        if LINEの内部ブラウザが起動している: #この部分はUI表示などで判定?
            LINEの内部ブラウザを閉じる

10分経過

できないといけないことは以下の3つです
① LINEが起動しているか否か判定
② (LINEは起動しているという前提のもとで)LINEの内部ブラウザが起動しているか否か判定
③ LINEの内部ブラウザを閉じる

まずは①から挑戦してみます

MacroDroidは以下のような感じで、トリガー、条件、アクションを組み合わせて、1つのマクロになります。
IFTTTにも似ているような気がします。

「LINEが起動しているかどうか」という情報は、「条件」の中にあるかなと思ったのですが、条件一覧を見ても、それらしき条件が、ぱっと見、見当たりませんでした。

https://japanize-app.com/macrodroid-constraint.html#Device-Category

そんなぁ。

20分経過

よく探したら、全然ありました。

とりあえず、この条件がきちんと動くか確認するために、以下のようなマクロを作って、動かしてみました。

10秒ごとに、自分がLINEを見ているか、見ていないか、自分のスマホに通知されるという、誰得なマクロです。

条件分岐の作り方は以下の記事を参考にしました。

https://blog.goo.ne.jp/oprsfr3saku/e/620768f2efa825b49bd4ef3dd7140de1

動かしてみた結果、

・IFの中身、動かない
・ELSEの中身、動かない

少なくとも、どっちかの通知はくるはずなのに、何も通知がこない...という状況でした。
ただ、MacroDroidのアプリを立ち上げているときだけ、このように通知がちゃんと出ました。

なので、私の予想は、「MacroDroidがアクティブでないときに、他のアプリに重ねて、通知を表示する権限が、まだMacroDroidに付与されていないせいで、うまくいっていない」という説です。

30分経過

テスト用のアクションとして通知を使うのが良くない?と思って、「アプリを起動」アクションに変更したり、いろいろ試してみているのですが、別のアクションにするには、また別の権限が必要になるようで、頭を抱えています...

40分経過

通知を確認するためだけのマクロを作って確認しているのですが、やはり、
MacroDroidがアクティブなときしか、通知が来ないです。。。

50分経過

ネットで同じような状況になっている人(MacroDroid開いているときしか通知が来ない問題に困っている人)を探したのですが、すぐに見つけられませんでした。

そのため、もしかすると機種がRedmiであることによる特殊な問題なのかも?と思い、調べています。

https://www.macrodroidforum.com/index.php?threads/【デバイス-huawei-や-xiaomi-サポート】について.1489/

1時間経過

以下の記事を読んでいます。

https://note.com/sumaho_hikaku/n/nade1adf78ea8

開発者オプションというものをオンにしてから、Redmiの設定をややこしい部分まで色々いじることで、突破できたりできなかったりするかもしれない...?ようなので、とりあえず開発者オプションをONにしてみます。

https://www.hardreset.info/ja/devices/redmi/redmi-12-5g-2024/kaihatsu-sha-opushon/

ゲームの隠しコマンドみたいな起動方法。。。(これで本当に開発者モードがONになった)

1時間30分くらい経過

主に以下の2つの記事を参考にしつつ、本当にいろいろな設定を変えまくりました。
・開発者モードをONにする
・バッテリーセーバーをOFFにする
・MacroDroidのバックグラウンドでの実行を固定する
・MacroDroidのバックグラウンドの自動実行を許可する
などなど。。。

https://dontkillmyapp.com/xiaomi
https://android-arsenal.com/details/1/6771

色々やりすぎて、どれのおかげなのかは分からないのですが、とにかく、通知が出るようになりました!👏

(同じXiaomiやRedmiでも、バージョンによって、変えられる設定・変えられない設定が少しずつ異なっていて、これらの記事とまったく同じ手順は踏めなかったのですが、それらしい設定をポチポチ押してみたという感じです)

1時間40分経過

実行したマクロ

LINEを開いている場合

LINEを開いていない場合

① LINEが起動しているか否か判定✅
② (LINEは起動しているという前提のもとで)LINEの内部ブラウザが起動しているか否か判定
③ LINEの内部ブラウザを閉じる

なんとか紆余曲折の末、①までは終わりました!思っていたより大変だった!

元々PCを使った自動化は少し挑戦したことがあったのですが、スマホのセキュリティは断然厳しくて、スマホで自動化する壁の高さを感じました...

まだ体力と気力があるときに続きをやってみようと思います!

最後までお読みいただきありがとうございました~

Discussion