カスタムシーン
アクション:MacroDroid固有>カスタムシーンを表示きれいな解説は見つけられなかったのでいろいろ手探りで。最初に画面右上の「+」からパーツリストを表示します。レイアウトパーツで大まかな配置を作っ...
プログラマブルキーを使って画面がOFFの時でもカウントができるようにします。
使った端末はUnihertz Jelly 2。
本体設定よりプログラマブルキーを外部アプリで使えるように設定します。
インターコムキーを使用するをONにすると本体機能が無効になり、外部アプリ連携用のIntentが確認できるようになります。(次項でアプリを設定しないと動作しません)
インターコムアプリケーションを選..に適当なアプリを指定します。今回は直接使用する別なアプリはないのでMacroDroidを指定しました。
これで、プログラマブルキーを押したとき、離したときにそれぞれIntentが送信されるようになり、MacroDroid側でインテント受信トリガーを使って操作できるようになります。
プログラマブルキーを押したときのIntent
android.intent.action.PTT.down
プログラマブルキーを離したときのIntent
android.intent.action.PTT.up
もともとの機能として、「キーは短押し、長押し、ダブル押し三種類設置できます」ということなので、それをエミュレートするマクロを作成してみます。メインのマクロへは、「画面がOFFの時だけカウントするような動作へのつなぎ」となるような機能を組み込みます。

ストップウォッチ機能を使って、プログラマブルキーを「押したとき」から1秒経過したらメインの機能の実行を行います。
「押したとき」には回数をカウントする変数を用意し、メイン機能実行時にこの変数を参照して、ダブルクリック(ダブル押し)かどうかを判定します。
短押し、長押しの区別のため、「押したとき」にlongPushフラグをTrueに、「離したとき」にFalseに設定します。
(ストップウォッチトリガーが0秒になって)メイン機能が実行されたとき、このフラグによって、longPush=True→プログラマブルキーが押されたままの状態で機能が実行された=長押しのように処理を切り分けます。
拡張、というか簡略化のため、「押したとき」のカウントは何回でも計上し、押した回数の機能がない場合は何も行いません。
実行機能は「短押し/長押し」「画面がON/OFF」「押したとき回数」という複数パターンの組み合わせになるので、条件分岐(IF)の入れ子が複雑になりがちで、マクロの見た目にも影響してきます。
今回は重複チェックも出てしまうものの、「短押し/長押し」「画面がON/OFF」の組み合わせ最大4パターンを親ネストに、「押したとき回数」は子ネストという2段組にしてみました。処理のない分岐(Else)もありますが、見易さ的には良しではないでしょうか。
メインマクロはシーンの表示もあり、「マクロの実行」ではなく、さらに制御の強い任意のトリガーを実行する形で接続したいところです。マクロからマクロへの制御なので、インテントの送受信がベストなのですが、お試しでHTTPリクエストを使用してみました。
アクション:Web 操作>HTTPリクエスト
URL: http://localhost:8080/counter
トリガー:接続>HTTPサーバーリクエスト
パス: counter
URL(例/自動記述): http://192.168.100.42:8080/counter
トリガーはメインマクロ側の設定です。トリガー側でパスを設定すると、接続用のURLが表示されます。例えば「http://192.168.100.42:8080/counter」のように表示されます。この時、「192.168.100.42」は、現在(設定中)の端末のIPアドレスです。同一ネットワーク内からであれば、別端末からでもこのURLにアクセスすることによりHTTPサーバーリクエストトリガーを発火させることができます。
しかしながら、IPアドレスは固定していないと変わってしまうのでIPアドレスをそのまま使うには注意が必要です。今回は同一端末内、自分自身へのアクセスなので、自分自身を表す特別な文字列に置き換えてIPアドレス問題が起きないようにしています。
IPアドレスの後ろの数字は端末ごとの設定によるのでHTTPサーバーリクエストトリガー内の記述をそのまま使います。
その他、相互のやり取りをしていそうなオプションは使わないのでOFFにしておきます。
HTTPサーバーを使った仰々しいやりとは本来必要ないですが、インテントの送受信で組むより設定自体はとても簡単でした。
HTTPサーバー機能はAndroid自体の機能で、MacroDroid専用機能ではないので、他のアプリと競合するなどが起きる可能性には注意が必要です。
シェアボタン: このページをSNSに投稿するのに便利です。
アクション:MacroDroid固有>カスタムシーンを表示きれいな解説は見つけられなかったのでいろいろ手探りで。最初に画面右上の「+」からパーツリストを表示します。レイアウトパーツで大まかな配置を作っ...
HOME始め方基礎知識プラグイン変数制御コマンド 条件分岐アクションの実行順序注目コマンドクリップボードを更新 A シェルスクリプト A MacroD...
プログラマブルキーを使って画面がOFFの時でもカウントができるようにします。使った端末はUnihertz Jelly 2。本体設定よりプログラマブルキーを外部アプリで使えるように設...
概要カスタムシーン(Custom Scene)を使ってある区間を分母に特定事象の発生回数をカウントしてその確率を表示してみます。ついでに、プログラマブルキー(PTT(Push-to-Talk)キー)を...
カウントの保存とシーンの制御用のマクロを作成していきます。MacroDroidには「用意しておいたシーンを任意に指定して表示する」というような機能はないので、シーンの呼び出しは1か所、かつ、直接的なト...
条件分岐の基本条件分岐とは条件の成立状況によって、続く処理を切り替える制御を言います。条件分岐では条件を設定します。条件は実行時に評価され、必ず2つのうちのどちらかの結果を持ちます。その結果とは、条件...
変数変数とは、マクロが実行される度に変わる可能性のある(変わってほしい)値を、そのまま値を記述する代わりにマクロの組み立て段階で記述しておくための仕組みです。 変数の名前と値変数の名前に意味...
This feature is for advanced users who understand the details of the intent they wish to invoke.Macr...
アクションの実行順序アクションは、マクロが終了するまでか、中断効果のあるアクションまで連続で実行される。中断効果のあるアクションとは例えば次のアクション実行前に待機アクションなど。何かのマクロが実行中...
直前に実行した/実行してないマクロ条件:MacroDroid固有>直前に実行した/実行してないマクロ主に最初の1回だけマクロを実行するために使う条件。 アプリを起動時トリガーと組み合わせる特...
トリガーまで待機アクション:MacroDroid固有>トリガーまで待機アクションを中断して、一時的なトリガーを設置し、そのトリガーの発火を待ってアクションを継続させることができるアクション。設定できる...
基礎知識AndroidはGoogleが開発したOSです。デバイスはベンダーがカスタマイズしています。MacroDroidはGoogle Playストアで公開されています。MacroDroidは一人(J...
プラグインMacroDroidに足りない機能を補ってくれる外部ツール。トリガーとして使えるもの、アクションとして使えるもの、どちらの機能もあるものがあるので導入時には一通り目を通しておくとよい。And...
MacroDroidは様々な場面でチュートリアルが表示され、タップ・ロングタップ・またはメニューからのヘルプがあり、とても簡単に、親しみやすく作られています。しかしながら弊害として、横並びのコマンドな...
MacroDroid変数の値変更トリガー:MacroDroid固有>MacroDroid変数の値変更トリガー:MacroDroid固有>MacroDroidモードの変更通常、MacroDroidのアク...
シェルスクリプトアクション:アプリ>シェルスクリプトシェルスクリプトを実行し、結果を受け取ることができるアクション。MacroDroidは計算機能やデータ処理に強くないので簡単な処理でもマクロ化にとて...
MacroDroidとはArloSoftが開発、Google Playストアで公開しているAndroidの自動化アプリです Google Playストア https://play.google.com...
クリップボードを更新アクション:機器アクション>クリップボードを更新[clipboard]の値をクリップボードの値にする、つまり、[clipboard]の値を更新するアクション。 v5.19...
MacroDroidの始め方2022.2.20 v5.22.5Google Play ストアでダウンロード・インストールアプリを起動したらチュートリアルを見るマクロを追加するマクロ名を入力するトリガー...
右メニューサンプル右メニューはヘッダーメニューの【編集】>【右メニューを編集する】をクリックすると編集できます。 ご自由に編集してください。 ここを編集する...