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

投稿

ラベル(MacroDroid)が付いた投稿を表示しています

アプリ不正使用防止マクロを少し変えました(MacroDroid)

 個人情報が参照できるようなアプリって、起動時に ・二段階認証 ・生体認証 ・パスワード認証 ・パスキー認証 とかが必要になるように設定できるじゃないですか。 そういう機能がないアプリでも、Galaxyだとセキュリティフォルダで対応できるんですが、結構使い勝手が悪いんですよ! そもそも、Androidが全てのアプリに対して、起動時に生体認証などを要求する設定が出来るようになれば良いんですけどね。  サードパーティのアプリで、指定したアプリを起動した際に生体認証要求するように出来るものもあるんですが、色々試したんですが当然ながらアプリ起動後に生体認証要求が出るんですよ。なので、アプリの画面が表示された後なんですよ。 本当なら、アプリ画面が表示される前に認証要求が出て欲しいんですが、やっぱりそれはAndroidが標準機能として実装しないと無理ですよね。 で、アプリ画面起動後でも認証要求が出れば、不正操作は防止できるなぁと思って、インチキ臭いマクロをお試しで作ってみました。 至ってシンプルです。 トリガーは特定のアプリ起動時です。 トリガー発動で、生体認証要求が出ます。 で、認証OKならそのままアプリを使えます。 認証NGならホーム画面に戻ります(ついでにフロントカメラで撮影)。 あと、自宅にいる時は不正使用されないので、条件に自宅範囲外を入れました。 アプリが起動した画面を表示したまま認証要求が出ないように、 ・最初にホーム画面を表示 ・認証OKなら最近使ったアプリ一覧を2回表示させるアクションでアプリ画面に戻す ってのも試したんですが、当然ながらアプリ画面に戻したタイミングで認証要求が出るので無限ループに陥ります。 で、条件にこのマクロが停止中を追加してみました。 更に、最近使ったアプリを表示するを2回連続で実行すると上手く動かなかったので、少し間を置くようにしました。 あと、マクロ停止中の条件に引っ掛かりやすくするために、最後に2秒待ち時間を足しました。  これで、トリガーのアプリを起動したら、直後にホーム画面が表示されてから認証要求が出ます。指紋認証している部分は録画できないので真っ暗な画面になってますけどね。 で、認証がOKならアプリ画面が表示されますね。  ま、ちょっとお試しで作ってみただけなので、使う予定はありません。 ...

MacroDroidで予定を読み上げてもらうマクロを少し変更しました(配列/連想配列を繰り返すって便利ですね)

 GeminiからGoogleホームへの連携がイマイチになったので、MacroDroidで予定を読ませるマクロを作ったんですが、 予定を配列変数{全予定}に取り込んだ後に、 ・予定数を変数{予定個数}に格納 ・変数{ループカウント}をリセット ┏ループ開始:変数{ループカウント} < 変数 {予定個数} ┃テキストを読み上げる:{lv=全予定[{lv=ループカウント}][Title] ┃変数{ループカウント} + 1 ┗ループ終了 と言うアクションをしていました。 でも、 配列/連想配列を繰り返す と言う、物凄く便利そうなアクションがあることに気付きました。 試しに使ってみました。 折角なので、予定の読み上げはサブルーチン化して、 ①予定を確認するマクロ ②予定を取得するマクロ ③予定を読み上げるマクロ(アクションブロック) にしました。 これで、①のロジックを複数のマクロに入れても、②と③は共通で使えます。 ①予定を確認するマクロ 簡単に言えば、②のマクロを実行する(アクションの下から2行目)だけです。 でも、呼び出す時刻で、今日の予定を知りたいのか、明日の予定を知りたいのかが変わってくるので、 取得する予定のオフセットをグローバル変数{スケジュールオフセット}で指定できるようにしました。アクションの下から4行目ですね。このマクロは朝しか実行しないので、取得したいのは今日の予定です。なので、今の時刻{hour}に"-"を付加して、ほぼ今日の0時からの予定を取得するようにしています。  ②予定を取得するマクロ 予定の取得は取得したいカレンダーの数が多いと長くなってきます(対象カレンダーを変数や配列で指定することができないので個別のロジックが必要ですね)。 でも、個々の取得ロジックは至ってシンプルです。 カレンダーの予定を取得アクション(アクションの3行目)をするだけです。  取得した予定をグローバル変数{取得予定(共通)}に格納しています。 予定の件数を読み上げさせるのも至って簡単でした。グローバル変数{取得予定(共通)}の前に"size="を付与するだけで配列数が得られます(アクションの4行目)。 後は、③を実行するだけです。 カレンダー予定を取得するアクションですが、 ・オフセット開始(分 | 時 | 日) ・持続時間(分...

スマホの通知を四国めたんに読み上げて貰いました(ボイボTTSって凄い!)

 私のGalaxy S24 Ultraは、VoiceVoxの力を借りて色んな通知音を四国めたんの音声にしています。VoiceVoxで生成した音声ファイルをアプリやアプリのカテゴリ別に通知音として設定しているだけなんですが、スマホを出さなくても何の通知なのかが分かるので凄く便利です。 Bluetoothヘッドフォン接続時には、LINEの通知内容も読み上げるようにしています。今はGalaxy Watch 6 Classicも使っているので、時計見れば何の通知なのかも内容も判っちゃうんですが、朝の満員電車じゃ腕を上げるのさえ難しいんですよ。 あんなに混んでる電車でバカみたいな事に一生懸命スマホ使ってる人が居るのには呆れ果てますね。  そんなことはど~でもよくて、通知内容を読ませるのにMacroDroidを使っていますが、当然ながら読み上げる音声は内蔵のTTSなんです。そうですね、Googleアシスタントみたいな声です。特に不満はなかったんですが、通知音声みたいに四国めたんにできたら嬉しいなぁと思い続けていました。  でね、 何かを調べていた時に、たまたまGeminiさんが教えてくれたアプリがありました。 このアプリは、スマホ版VoiceVoxですね! えっ!こんな素晴らしいものを作ってくれた人が居るんですか! アプリを起動すると、音声生成画面になります。右上からキャラクターを選択できます。 私は四国めたんのあまあまが一番のお気に入りです。   しかも、VoiceVoxと同じように話し方を設定できるんですよ!   イントネーションも設定できるし、 長さもできます。 その他の内容は利用規約や表示濃度ですね。   更に、この画面で生成した音声は、テキスト入力エリアの下にあるアイコンで、保存(左)やブックマーク(右)もできるんですよ!!! ブックマークにはイントネーションなども含まれているようなので、VoiceVoxのプロジェクトと同じ感じですね。   私は使っていませんが、他にもソングプロジェクトやアラーム機能までついています。 設定からは、ユーザ辞書や画面に表示するキャラのイラスト設定もできます。 ユーザ辞書は正規表現も使えます。 私は、時刻表記の「hh:mm」を「hh時mm分」と読んでもらうための辞書を正規...

GeminiがアップデートされるたびにHomeとの連携が悪化するんですけど

Galaxy S24 Ultraを使っています。 Galaxyには、モードとルーチンと言う便利な自動化ツールが標準で実装されています。 モードとルーチンだけでも色んなことを自動化できるし、時々アップデートで出来ることも増えてきています。 で、このモードとルーチンはSamsung純正なのでGalaxy特有の機能を操作することが可能なのですが、MacroDroidほど多機能ではありません。  そんな訳で、私は ・MacroDroid ・モードとルーチン ・Googleアシスタント(Googleホーム) ・Gemini ・Folder Sync Pro 等々を連携させることで色々と自動化を図っています。 面倒なのはMacroDroidからのGeminiやGoogleホームとの連携なんですね。 GeminiもGoogleホームもMacroDroidから直接連携できません。両方ともアプリを起動することはできますが、それぞれに実行してほしい機能を連携できません。 例えば、MacroDroidからGeminiを起動しても、音声入力待ちにはならずに、テキスト入力待ちになります。ここでテキストを引き渡しても、Geminiは音声読み上げをしてくれません。自動化したいのに画面に表示されるだけでは厳しいですよね? なので、これまでは自声の「OK Google ~して」のような音声ファイルを用意して、MacroDroidから再生させることでGemini連携していました。騒がしい場所では全く使い物にならないのが欠点ですが。 でもですね。Geminiが賢くなっていくんですよ。そのせいで連携が難しくなってきていました。 具体的には、 目覚ましのアラームを停止すると モードとルーチンでスマホやスマッチの設定を自分標準にする モードとルーチンで通知を出力してMacroDroidに連携 MacroDroidで「OK Google おはよう」の音声ファイルを再生 Gemini(これは標準アシスタントアプリをGeminiにしているからです)がGoogleホームのおはよう自動化ルーチンを実行(天気や予定などを読み上げて貰ったり部屋の照明を点けたりしてもらってます) Googleホームの一連の動作が終わると、画面に「完了しました。」が表示される 画面に「完了しました。」が出力されたらMacroDroid...