スキップしてメイン コンテンツに移動

指紋認証でロック解除のON/OFFをトグルにしてみた【Galaxy】

 ポケットにケータイを入れてる間は、指紋センターが反応しないように無効にするマクロを作ったんですが、

1.モードとルーチン:ホームボタンダブルタップ

 ・指紋認証を無効

 ・指紋認証無効通知出力

2.MacroDroid:指紋認証無効通知が出力されたら実行

 ・画面OFF

3.モードとルーチン:電源ボタン長押し

 ・指紋認証を有効

 ・指紋認証有効通知出力

4.MacroDroid:指紋認証有効通知が出力されたら実行

 ・指紋認証無効通知を消去

 ・5秒後に指紋認証有効通知を消去

なんですね。

ONとOFFで操作が違うんです。

ONは電源ボタンを長押し

OFFはホームボタンをダブルタップ

です。

でも、どうせなら同じ操作でトグル切替したい!

要するに、

ONならOFF

OFFならON

を同じ操作にしたいんですよ。

できれば、電源ボタンを長押し操作に統一したい!


でも、

・指紋認証でロック解除の設定変更ができるのはモードとルーチンだけ

・電源ボタン長押しをトリガーにできるのもモードとルーチンだけ

MacroDroidも電源ボタンを長押しをトリガーに出来るんですが、そのためには既定のアシスタントアプリをMacroDroidにする必要があるんです。でも、これやっちゃうと、Hey!Googleが使えなくなるんですよ。


なので、

・電源ボタン長押しトリガーはモードとルーチン

・指紋認証でロック解除のON/OFF判定はMacroDroid

・判定結果に応じて指紋認証でロック解除を有効か無効にするのはモードとルーチン

にする必要がありますね。


そんな訳で、通知を表示のトリガーで連携させてみました。


1.モードとルーチン:電源ボタン長押しで実行

 ・「指紋認証トグル」通知出力

2.MacroDroid:「指紋認証トグル」通知が出力されたら実行

 ・「指紋認証トグル」通知消去

 ・変数「指紋認証」の判定

 [オフ]なら

    ・「指紋認証オフ」通知消去

    ・「指紋認証オン」通知出力

    ・1回バイブ

  ・5秒後に「指紋認証オン」通知消去

  ・変数「指紋認証」に「オン」を設定

 [オン]なら

    ・「指紋認証オフ」通知出力

  ・変数「指紋認証」に「オフ」を設定

  ・画面をOFF(ロックされないように「ユーザ補助サービスを使用」)

3.モードとルーチン:「指紋認証オン」通知が出力されたら実行

 ・指紋認証を有効

4.モードとルーチン:「指紋認証オフ」通知が出力されたら実行

 ・指紋認証を無効


モードとルーチンの条件に「指紋認証でロック解除の状態」があれば無駄に連携しなくて済むんですが、MacroDroidの通知はアイコンを替えられるメリットがあるので通知バーを見れば状態が簡単に分かって便利です。

逆に、MacroDroidに「指紋認証でロック解除の状態判定」や「指紋認証でロック解除のON/OFF」が出来ればもっと単純な仕組みで済むんですけどねぇ。

電源ボタン長押しするとバイブするんですが、ONにする時だけMacroDroidでもバイブさせています。これで、バイブ1回はOFF、バイブ2回はONと分かるので、ポケットの中で電源ボタンを長押しして簡単に切替できるようになりました。


2025.10.19

近接センサーやロック解除でも指紋認証トグルが動くようにしてみました。

モードとルーチンのシンプルなルーチン3つは変わらずです。

・指紋認証ON/OFFのトグル動作を発動させるためのルーチン

サイドボタンの長押しで「指紋認証トグル」通知を出力するだけ


・指紋認証をONにするためのルーチン

MacroDroidから「指紋認証オン」通知が表示されたら、指紋認証と顔認証をON


・指紋認証をOFFにするためのルーチン

MacroDroidから「指紋認証オフ」通知が表示されたら、指紋認証をOFF、顔認証はON

「指紋認証無効」の通知を出力


と、モードとルーチンは至ってシンプルです。

MacroDroidのマクロは少々複雑になっちゃいました。

・トリガー

 トリガーは4つ

 ・モードとルーチンから「指紋認証トグル」通知が表示された時

指紋認証のON/OFFを現在の状態と反転させるため

 ・モードとルーチンの「指紋認証無効」通知が消去された時

4つ目のトリガー「ロック画面を解除した時」を作ったので今は実質使ってませんが、

  通知を消すと指紋認証をONにするため

 ・近接センサーに近づいた時

画面が点いたままポケットに入れたりすると指紋認証をOFFにするため

 ・ロック画面を解除した時

使い始めたら指紋認証をONにするため


・変数

 変数は2つで、どちらもローカル変数です

 ・指紋認証(文字列)

  指紋認証のON/OFF状態を保存

 ・実行中(真偽)

  このマクロが実行中か判定するため


・アクション

 アクションは条件で5つに分かれてます。

 3つは無駄にマクロが発動した時に何もせずに終了させるアクションです。

 ・条件1:近接センサーに近づく&指紋認証OFF


  指紋認証がOFFの時に近接センサーに近づいても何もせずにマクロを終了させます。

  ポケットの中で不意に画面がONになった時を考慮して画面をOFFにします。

 ・条件2:ロック解除&指紋認証ON

トリガーに「ロック解除した時」を追加したので、ロック解除するたびにマクロが発動してしまうので、ロック解除時に既に指紋認証がONなら何もせずにマクロを終了させます。

 ・条件3:変数「実行中」が「True」

既にマクロが動作中なら何もせずにマクロを終了させます。

MacroDroidの条件に「マクロが動作中」があるんですが、自マクロの判定に使っても無意味なので変数にしました。

サイドボタン長押しやロック解除などのトリガーが連続して発動しても、先に発動したトリガー以外は何もせずに終了させるためのものです。


残りの2つが指紋認証をON/OFFするためのロジックです。

上の3つの条件を満たさなかった場合は、無条件に

 ・ 変数「実行中」に「True」を設定

  条件3の多重実行抑止のために設定します。


 ・条件4:変数「指紋認証」が「オフ」

指紋認証をONにするためのアクションです。

  ・変数「指紋認証」に「オン」を設定

このマクロが指紋認証の状態を覚えておくために変数を設定

  ・モードとルーチンの「指紋認証無効」の通知を消去

指紋認証をONにするので不要になる通知を消去(これもトリガーなので「実行中」の変数で制御しないとマクロが輻輳して想定外の動作になります)

  ・「指紋認証オン」の通知を出力

モードとルーチンの「指紋認証オン」ルーチンのトリガーを出力

この通知をトリガーにモードとルーチンが指紋認証をONにします。 

  ・スマホとスマッチを2回バイブ

実際にはバイブ1回→1秒待ち→バイブ1回ですが、オンの時とオフの時をバイブで判断できるように、オンは2回、オフは1回にしました。

  ・「指紋認証オン」のポップアップメッセージを出力

ロック解除のトリガーで指紋認証をONにしたときに視覚的に見えるようにしました。

  ・2秒待機後「指紋認証オン」の通知を消去

2秒も経過すればモードとルーチンは発動済みなので不要な通知を消去します。

モードとルーチンにも通知消去のアクションが有れば楽なんですけどねぇ。  

 ・条件5:変数「指紋認証」が「オン」

指紋認証をOFFにするためのアクションです。

・変数「指紋認証」に「オフ」を設定

このマクロが指紋認証の状態を覚えておくために変数を設定

・「指紋認証オフ」の通知を出力

モードとルーチンの「指紋認証オフ」ルーチンのトリガーを出力

この通知をトリガーにモードとルーチンが指紋認証をOFFにします。 

・スマホとスマッチを1回バイブ

オンの時とオフの時をバイブで判断できるように、オンは2回、オフは1回にしました。

・2秒待機後「指紋認証オフ」の通知を消去

2秒も経過すればモードとルーチンは発動済みなので不要な通知を消去します。


 条件4か条件5のアクションが終了したら、無条件に

 ・ 変数「実行中」に「False」を設定

これで新しいトリガーが発動したらマクロが実行されるようになります。 



トリガー、条件、アクションの豊富さではMacroDroidが優位なんですが、スマホ機種固有の機能の網羅性の高さではモードとルーチンに勝てません。

なので、両方を組み合わせて使わないと、思ったような動作をする自動化が出来ないんですよねぇ。

MacroDroidのシステム設定とか扱えるようなスキルが有れば、もっといろんな事が出来るんでしょうね。

 

コメント