見出し画像

【TR】Androidの"Intent"(インテント)機能を使って 他アプリでデータを送る。

※ この記事は Androidアプリ「トリレコ -TriggeRecord」で取得したセンサー値や録画データを他のアプリに送り 何らかの作業を自動化する方法を記載します。

● 自動録画・録音されたデータおよびスマホの各種センサー値をGASに自動保存&📧送信するための方法はコチラを
遠隔型赤外線センサーを500円にDIYしてスマホでリアル通知
● 自動・遠隔からYouTube配信を行う場合はコチラ

トリレコ -TriggeRecord」とは電源やWIFI環境がなくても なるべく長い時間、監視・モニターを行うためのAndroidアプリ。必要に応じて録画・録音し、データをクラウドにアップしたり、カメラ映像のAI解析や各種センサー値を記録します。格安SIMなどの低速なネット回線でも極力リアルタイム性を損なわず運用できるよう設計されています。

https://play.google.com/store/apps/details?id=com.Renkul.TriggeRecord

アプリにない機能をIntentを使って、他アプリでやってもらう。

ってことが目的。開発するまでもなく  「既に機能を持つアプリ」があるんだったら その機能だけを使わせてね! って感じで利用する。
もともとアプリ作成は考えておらず、MacroDroid」という自動化アプリで済ます予定だった。
けど 多機能がゆえにディテールが… ってところがあったため開発することに。(とくに静止画のみの撮影 しかも デフォルトアプリ指定のため容量が重く、録画・録音やGASに対応していないのがキビシかったため)

画像データをメールで送信のためのintentを作る。

MacroDroidはホントあきれるくらい Androidスマホでいろんなことを自動化できちゃうアプリ(iOSでは実現できない機能満載)。ただ「デキル」だけに設定が煩雑というディメリットも。
トリレコでは機能を省略しつつ  ダイレクトで無料クラウドのGAS(GoogleAppsScript)連携が可能として、数値や録画録音物をアップしたり 同時に「GAS側からメール送信・通知」が可能。でもダイレクトでメール送信する機能がないため スマホだけで完結したい(GASは使わない)! またMacroDroidに慣れており他の機能と連携したい! などのニーズを満たすために、トリレコ → MacroDroidにIntentして、トリレコで撮影された動画を自動でGメール送信してみることにする。

準備アプリ(Android)

● トリレコ -TriggeRecord
MacroDroid マクロドロイド

トリレコでIntent機能を使うには 機能制限解除が必要なため、動画広告を見て制限を解除しておいてください(menu > [広告 & 購読 & 無料利用] より)
MacroDroidも同様に時間制限がかかっていれば、動画広告を視聴しておいてね。

トリレコ側の設定

menu>[UpData📡データ送信]に☑ を入れて、赤線の[Intent🤝App Collabo]で[Only Sing]から変更する。[Only Sing]は動画・録音なしの合図だけ送る設定で、ファイルを送りたい場合は 容量制限値を設定する。低速回線では時間がかかるため、限度をきめておくため。高速回線で利用する場合は、[unlimit](制限なし)でもOK。月額無料SIMのPovoだと 150~500kbくらいが限度かも。

MicroDroid側の設定

左側が起動時のデフォルト画面。右上の赤丸のトグルをONにして有効にし、下の「マクロ」ボタンを。停止したいときは、トグルをOFFにしておけば個別にOFFにしなくてもOK

中央設定の後の画面(確認用)*順序間違えた。

右側の「+」で設定していく。赤丸のトグルを設定後に有効にすること。

トリガー(赤)とアクション(青)を設定

「トリガー」のところで[+] → [機器の動作] → [インテント受信]を選ぶと左側の画面に。
ここを一語一句・大小文字も違わず半角で入力することも。
アクション:「TriggerR」、インテントエクストラ:エクストラ名:「message」、マッチさせる…:「*」(アスタリスク)、変数に代入で「+」をおし「グローバル変数」作成、名前を「message」にしてOK!  間違えてもあとで修正は可能。

右側は「アクション」で「+」をタップ → 「通知」→ 「ダイアログを表示」で作る。
これは必須ではなく、テストがちゃんと完了したかどうかを見るためなので、上のように適当でOK。またテストが完了したら「無効」にしてもいいやつ。

アクション(青)でメール自動送信設定

アクションの「+」→「メールを送る」を選択すると左側の画面に。Gmailが簡単なのでそっちを選ぶ。(Androidに設定されているアカウントが自動で設定される)

右側画面が自動化されるメール作成の画面。
必ず必要なのは赤丸上の宛先の「メールアドレス」。通知先を入れる。
「件名」は任意で。ちなみに「{battery}」と入れると バッテリ容量が入ってくる。
本文の「テキストメッセージ」に 「{v=message}」と入れる。これでファイルを「文字化」したものが送れるようになる。録画・録音がない場合は、反応したセンサー値など送らてくる。

トリレコに戻り、録画設定してテストする。

トリレコに戻り  menu>[🔴録画&配信]に☑を入れる。
細かく設定できます。画質・音質などで データ容量が変わるので、撮影の目的や設置場所、ネット回線の速度などを鑑みて設定できますデフォルト値でそれなりの画質・音質で低容量の撮影ができるようになっているのでオススメ
sec.秒(撮影秒数)はテストでは5秒くらいでOK。 分・時間単位にすると 低速回線では制限対象になり送れないので注意(制限値を多くしても 回線が停滞しエラーになることも)。また録画秒数にかかわらず「最初の1秒未満の動画」をイメージ付きで通知できる機能があるので、録画時間を長く設定しても安心。また短い秒設定 +「リピート回数」を増やすことで「低速回線」でも継続したモニターができる設計。

[🔴録画&配信]に☑ されると メインが画面(右側)に録画窓が現れる。
「↔」で窓サイズ変更可能、「🔴Rec」ボタンでテスト録画・録音を開始される。
Intent送信に成功すると、Intent受信したMicroDroid側でさきほど設定したダイアログが表示される。続いてバックグラウンドでメールが成功していれば …

メール受信

動画・録音の場合 こんな感じでずらりと文字が並んだメールが届く。(バグではなくこういう仕様にしています。添付ファイルみたいにタップしてプレビューしたい場合は「GAS設定」を参考のこと)

これどうやってプレビューする? 実はとても簡単。本文の「data:video…」から始まる文字列をコピー(本文を全コピーでOK)

動画・録音物をプレビュー&保存する。

コピーした「data:video.…」をそのままブラウザのURL欄に貼りつけてエンター
すると収録物がプレビューされる。
保存は右下の赤丸のメニューから行うことができる。再度ですがGAS設定を使えば、この手間を削減できる。


この記事が気に入ったらサポートをしてみませんか?