【自動実行アプリ「Tasker」の使い方】4.Profileを作成するためのヒント(1)「ある状態」ステートコンテキストにどのようなものがあるかー「State Context」詳細
2020/11/27
「Profile」は、「Context」と「(Enter)Task」および「(Exit)Task」で構成されています。「Context」が条件を満たすと「Task」が実行されます。
「Profile」をアクティブにするトリガーである「Context」は、大別して「ある出来事」のイベントコンテキストと「ある状態」のステートコンテキストに分類されます。
「Profile」を新規に作成するあたり、選択できるコンテキストは、「Application」「Day」「Event」「Location」「State」「Time」の6つですが、そのうち、ステートコンテキストである「Application」「Day」「Location」「State」について、どのようなものがあるのか整理しました。
※「Time」コンテキストは、設定の仕方によってはステートコンテキストの役割もありますが、イベントコンテキストとして整理していますので、そちらを参照ください。
Android端末に、自動でこんなことをやらせてみたい、またはやってみたいと思いたったときの「ヒント」の参考にしてください。
【注記】画面表示例について
・「Tasker」のバージョン:5.10
・端末:「ASUS Zenfone 2」(Android 6.0.1)※一部「HUAWEI P20 lite」(Android 8.0.0)※State→「Google Pixel 3XL」
・テーマ:「Device Default Dark」
1.「Application」コンテキスト
選択した(ひとつまたは複数の)アプリケーションが実行中のときに、プロファイルがアクティブになります。
・Application選択画面(通常)
①Activityボタンがチェックされている場合
選択したいずれかのアプリがフォアグラウンドで実行中(画面に表示されている)のときに、プロファイルがアクティブになります。
②Servicesボタンがチェックされている場合
選択したいずれかのアプリケーションに関連付けられているサービスが実行中のときに、プロファイルがアクティブになります。
③Invertボタンがチェックされている場合
選択したアプリケーション以外のアプリケーションが、①または②の判定の対象になります。
・Application選択画面(Allボタンチェック時)
④Allボタンがチェックされている場合
通常(チェックされていない場合)は、ホーム画面に表示できるアプリが対象ですが、チェックすると、それ以外の起動可能なアクティビティもアプリ選択画面に表示されます。
⑤「×」:キャンセルボタンです。
【補足】アプリ起動中の監視間隔(モニタリング)
アプリケーションコンテキストを含んだプロファイルが存在するとき、Taskerは、それらのアプリが起動しているかどうか(デフォルト)1.5秒ごとに確認します。
この設定は、メイン画面の3ドットメニューボタンをタップ⇒サブメニュー「 Preferences」をタップ⇒各種設定画面の「MONITOR」タブをタップで表示される「Service Check MilliSeconds」で変更できます。
2.「Day」コンテキスト
指定した「月」「日」「曜日」またはそれらの組み合わせが、一致したときに、プロファイルがアクティブになります。
・Day編集画面
・「月」の選択:指定する月の部分をタップします。複数月の選択は可能。無選択はすべての月を選択したことになります。
・「日」の選択:「日」(Month Day)または「曜日」(Week Day)の選択ができます。(④のところをタップして選択)
①Allをタップ→すべての日(曜日)を選択。
②Noneをタップ→無選択。(ただし、すべて選択したことと同義)
③Oddをタップ→隔日を選択。
【補足】「日」と「曜日」の同時選択について
「日」と「曜日」を同時に選択できます。このときのアクティブになる条件は、指定した「日」かつ指定した「曜日」が一致したときになります。
たとえば、「日」=1、「曜日」=Sunと指定すると、n月1日(日曜日)のときのみアクティブになります。
指定した「月」「日」等が思い通りかは、一旦プロファイルタブ画面にもどって、一覧の名称で確認できます。
3.「Location」コンテキスト
端末が、指定したエリア内(中心点(経度,緯度)から一定の距離)にあるときに、プロファイルがアクティブになります。
・Location編集画面
①緯度②経度③半径を指定します。
④⑤現在位置の取得方法(ロケーションプロバイダー)を指定します。
④Netボタン:通信基地局とWiFi情報の組み合わせを利用して特定。
⑤GPSボタン:GPSを利用して特定。
⑥現在位置ボタン:有効なロケーションプロバイダー(ネットワークまたはGPS)を使って、現在位置を取得します。
⑦メニュー
【補足】地図の見方と地図上での操作
・Locationコンテキストで指定したすべての地点(旗マーク)と指定半径(黄色(編集中)または青色)が表示されます。
・地図上を長押しするとコンテキストの場所を指定することができます。※超便利
・旗マークを長押ししてドラッグすると移動できます。
・旗マークをタップするとその場所が地図の中心にきます。
【補足】GPSを確認する頻度について
・画面オン状態のとき「120」秒間隔
・画面オフ状態のとき「600」秒間隔
この設定は、メイン画面の3ドットメニューボタンをタップ⇒サブメニュー「Preferences」をタップ⇒各種設定画面の「MONITOR」タブをタップで表示される「GPS Check Seconds」と「All Check Seconds」で変更できます。
4.「State」コンテキスト
端末におけるソフトウェアまたはハードウェアが継続的にある状態にあるときに、プロファイルがアクティブになります。
・「State Context」のカテゴリー
「ある状態」は、さらに11のカテゴリーに分類され、40余のコンテキストが存在しています。
ここでは、個々の「State」コンテキストに、どのような「ある状態」があるのかを一覧に整理しましたが、ただし各ステート編集画面は膨大になるので、省略させていただきました。
(作成例で紹介した「State」コンテキスト(名称が青色)については、そちらをご覧ください。)
【State Context 一覧まとめ】
State Context | ある状態とは |
App State |
・Calendar Entry カレンダーの予定と指定したパラメータ(Title、Location等)が一致している(していない)状態 ・Unread Text 指定したパラメータに一致する未読のSMSあるいはMMSがある(ない)状態 |
Display State |
・Display Orientation 画面が縦方向か横方向かの状態 ・Display State 画面表示の状態(オン/オフ) ・Dreaming スクリーンセーバーが起動している(いていない)状態 ・Dark Mode※v5.8.5(Android 10+) 端末がダークモード(またはライトモード)の状態 ★サンプルのダウンロード ※TaskerにWRITE_SECURE_SETTINGS権限を付与する必要あり。⇒方法についてはこちらを参照 |
Hardware State |
・Docked ドッキングステーションに接続している(していない)状態 ・Headset Plugged イヤフォンジャックにヘッドセット等を差し込んだ(抜いた)状態 ・HDMI Plugged HDMIを接続している(していない)状態 ・Keyboard Out 物理的なキーボードが表示されている(されていない)状態 ・Media Button メディアボタンのいずれかが押されている状態 ・USB Connected USB端子に指定した種類のデバイスが接続されている(されていない)状態 |
Net State |
・Airplane Mode 機内モードの状態(有効/無効) ・Auto-Sync 自動同期の状態(有効/無効) ・BT Connected ブルートゥースを介して(特定の)機器が接続されている(されていない)状態 ・BT State ブルートゥースの状態(有効/無効) ・BT Near (特定の)ブルートゥースの範囲内にある(ない)状態 ・Ethernet Connect USB経由で有線LANに接続してる状態 ・Mobile Network データ接続ネッテワークの接続状態(2G/3G/3G-HSPA/4G/オフ) ・NFC Status NFCアダプターの状態(有効/無効) ・VPN Connected(6.0以降) VPN(Virtual Private Network)に接続している(していない)状態 ・Wifi Connected (特定の)無線LANアクセスポイントに接続している(していない)状態 ・Wifi Near (特定の)無線LANアクセスポイントの範囲内にある(ない)状態 |
Phone State |
・Call 電話を掛けているあるいは掛かってきている状態(特定の電話番号の指定可) ・Cell Near 特定の基地局(電波塔)の範囲内にある(ない)状態 ・Missed Call 不在着信がある状態 ・Signal Strength 信号レベルが指定した範囲内にある状態 |
Power State |
・Battery Level バッテリーレベルが指定した範囲内にある状態 ・Battery Temperture バッテリーの温度が指定した範囲内にある状態 ・Device Idle 端末が低消費電力状態 ・Power デバイスが電源に接続されている(していない)状態 ・Power Save Mode 電池節約モードの状態(有効/無効) |
Sensor State |
・Light Level (光センサーを利用)周りの明るさが指定した範囲内にある状態 ・Magnetic Field (磁気センサーを利用)磁場強度が指定した範囲内にある状態 ・Orientation (水準器センサーを利用)デバイスが特定の向きにある状態 ・Pressure 現在の場所での(おそらく大気圧)圧力(ミリバール)が指定した範囲内にある状態 ・Proximity Sensor (近接センサーを利用)近接センサーが何かを感知した状態 ・Any Sensor※v5.9.3 端末にある様々なセンサーによる様々な状態 |
System State |
・Active User 指定したIDのユーザーがアクティブな状態 ・Custom Setting 指定された端末の設定が指定された設定状態 ※詳細はこちらをご覧ください。 |
Tasker State |
・Profile Active 指定したプロファイルが動作中(または動作中でない)の状態 ・Task Running 指定したタスクが実行中(または実行中でない)の状態 |
Variable State |
・Variable Value 指定したユーザー変数がある値と演算子の関係に合致している(または合致していない)状態 |
■各ステートコンテキストに関する詳しい説明は、こちらを参照してください。
※赤字のStateは、要rootや機種未対応等によるものなので一旦は省略させていただきました。
※一覧を作成するために簡単な動作を確認していますが、それでわかったことは、タスカーの動作は、デイバスのAndroidOSやハードによる個体差があるようです。たとえば、ある端末では、Cellのスキャンでエラーとなり、「Cell Near」「Signal Strength」が機能しませんでした。
【更新履歴】
・2018/10/13 Ver.5.5に対応
・2020/11/27 Ver.5.10に対応