こんにちは、かものはしです。
Macrodroidに条件分岐というアクションを設定することが出来ます。
簡単に言うと「◯◯◯だったらコレで違ったらコレをして!」と命令文を出すことです。
マクロ作成に慣れてきたら条件分岐にチャレンジしてみませんか?
- 条件分岐を作成する方法が分かる。
- 条件分岐を必要とするマクロを作成することが出来る。
条件分岐とはどんなものか
条件分岐(If文)とはプログラムを進行する上で、ある条件に一致していれば次のプログラムを行うことが出来るコードです。
マクロ作成には「条件」という設定項目がありますが、それとは違った複雑な条件を作成することが出来ます。
アクションとして条件分岐/繰り返しを設定する方法
[次の繰り返し]へ進む
「条件で繰り返す(While)」の開始時と終了時の間に設定したアクションを全て無視して、開始位置へ戻ります。
アクションの開始と終了の間に配置していなければこのアクションは無効になります。
[繰り返し]を中止
設定した「条件で繰り返す(While)」のアクションをすぐ中止して、次のアクションに移るようにするときに使用します。
「条件で繰り返す(While)」の開始と終了の間に配置していなければこのアクションは無効になります。
条件で繰り返す(While)
オプションを選択
- 一定回数
- 条件を満たす限り繰り返す
- 1回は必ず実行し、条件を満たす限り繰り返す
開始時と終了時の間にあるアクションをここでは「子アクション」と表示されます。
注意点として、条件を満たさずほぼ無限にアクション回数が続くと、アプリ自体が固まってしまうことがあります。
その場合は別途「条件」の欄で作成したほうが良いです。
条件分岐(If)
「+」マークにて条件を追加して「OK」で登録します(複数条件を設定するとANDまたはORのどちらかが指定出来ます)。
例えば…
- 「AとB一致したら」であればANDを設定しましょう。
- 「AまたはBであれば」であればORを設定しましょう。
- 「Aだけで良い」ならANDで設定しましょう。
条件分岐(下位分岐)
登録した項目をクリックすると、Else・Else If・Else If(確認あり)が設定できます。
これは「この条件に一致しなかったけど、こっちの条件には一致するよ」などに使用したい時に使用されるものです。
例え話をすると…
- If(電話かかってきた?)
- かかってきたよ!
- Else If(職場から?)
- そうだよ!
- Else(寝たふりしよう…)
下位分岐は条件分岐の開始時と終了時の間に作成されたものを「子アクション」と言います。
条件分岐(確認あり)
設定項目
- ダイアログのタイトルを確認
- ダイアログメッセージを入力
- 肯定ボタン文字
- 否定ボタン文字
「戻る」ボタンでマクロを停止(あり/なし)
ダイアログの確認を得て条件(If)を発動することが出来ます。
画面をタッチしない限りアクションは発動しないので、一連のマクロを自動化したい場合、状況によっては不向きかもしれません。
次のアクション実行確認
このアクションを追加すると、マクロ実行時にダイアログを表示することが出来ます。
詳細設定
- ダイアログのタイトル入力
- ダイアログのメッセージを入力
- 肯定ボタン文字
- 否定ボタン文字
配列/連想配列を繰り返す
[繰り返し(ループ)]に似ていますが、このアクションを設定することで1つの配列や連想配列の内部で、全ての要素を反復処理(ループ)することが出来ます。実用的な条件分岐のマクロ設定
条件で繰り返す(While)の設定例
電話着信時を条件として、スマホのLEDを点滅させるためにマクロを使用しています。
LED点滅はアクションでトーチのON/OFFを1つずつ追加して繰り返すことで実現しています。
詳しいマクロ設定についてはコチラで説明しています。
条件分岐(If)の設定例
Bluetoothイヤホンを取り出した時、spotifyアプリなど自動で音楽再生を行うためにマクロを使用しています。
もしも音楽再生されていない条件として、音楽再生を促しています。
詳しいマクロ設定についてはコチラで説明しています。
【Spotify】イヤホンと連携して音楽を自動再生しよう
まとめ
今回はMacrodroidで設定できる条件説明と使用条件に合わせた追加方法について説明しました。
- 「条件分岐/繰り返し」は一度マクロを登録してからアクション設定を行う。
- 条件を満たす限り行ってほしい場合は「繰り返し(While)」を設定する。
- 条件によって行ってほしい場合は条件分岐(IF)、更に下位条件としてElse Ifを設定する。