tasker_icon

日本語版 Tasker ユーザーガイド : Profiles

~ プロファイル ~

Taskerの主要な四つの要素、Profile(プロファイル)、Task(タスク)、Variable(変数)、Scene(シーン)のうち「プロファイル」について見ていきます。

このプロファイル、TaskerをTaskerたらしめているといっても過言ではないくらいの重要な機能なのですが、やっていることはとても単純で、「タスク」とその実行条件の「コンテキスト」を結びつけている、いわば橋渡し役のような存在になります。

プロファイルを的確に設定することが、Taskerに仕事をさせるための基礎となるので、ここでプロファイルとは何かをしっかり説明していきたいと思います。

プロファイルとは

プロファイルとはコンテキストとタスクを関連付ける枠組みのことです。タスクは単独でも実行することが出来ますが、自動で実行させるにはプロファイルが必要で、この自動実行こそがTaskerの真骨頂と言う訳ですね。

そこでTaskerに何かをさせようとした時にまず最初に考えるのが、どのような時にタスクを実行するのかという「実行の条件」になるわけですが、この条件の事をコンテキストと言い、コンテキスを設定するにはプロファイルを作る必要があります。

一方、タスクの方はプロファイルからは独立した存在で、このようなタスクの事を「名前付きタスク」といいます。名前付きタスクとは別に「無名タスク」というものもあるのですが、無名タスクはプロファイルやシーンの中にしか作れず、無名タスクを作ったプロファイルやシーンの外部からは実行できないという制約があります。

また、プロファイルには複数のコンテキストを設定して実行条件を絞り込むことが出来ますが、1つのプロファイルから直接呼び出せるタスクは最大で2つまでに限られます。

これらの特徴を理解することで、的確なプロファイルを作ることができるようになります。

新しくプロファイルを作る

それでは早速、プロファイルを作ってみましょう。

新しくプロファイルを作るには、メイン画面の右下(ビギナーモードでは、画面下部中央)にある十字のアイコンをタップして下さい。

‘Application’ (アプリケーション)
‘Day’ (デイ:日付)
‘Event’ (イベント)
‘Location’ (ロケーション:場所)
‘State’ (ステート:状態)
‘Time’ (タイム:時間)

というコンテキストが並んだポップアップメニューが表示されます。

コンテキストは大別するとステートコンテキストと、イベントコンテキストの二種類に分類できるのですが、「アプリケーション」、「デイ」、「ロケーション」、「タイム」の各コンテキストは使われる機会が多いことと、タイムコンテキストについては指定の仕方によってステートコンテキストとしても、イベントコンテキストとしても働くことなどから独立した項目として扱われているのだと思います。メニューから指定したいコンテキストを選ぶと、細かい条件を設定するための画面が表示されます。

Context(コンテキスト)

コンテキストには「タスク実行の契機」という重要な役割りがあります。ただし、コンテキストだけでは役に立たないのでコンテキストが成立した時に実行されるタスクを関連付ける必要があります。1つのコンテキストに対して関連付けられるタスクは基本的に二つだけですが、タスクから別のタスクを呼び出すこともできるので、実行出来るタスクの数よりもタスクが実行されるタイミングに注意を払う必要があります。詳しくは、エントリータスクとイグジットタスクの項をご覧ください。

タスクはプロファイルから独立しているのであらかじめタスクだけを作っておいて必要な時にコンテキストに関連付けたり、タスク単独で実行することも出来るのですが、コンテキストはそれだけを単独で扱う事は出来ないので常にプロファイルの一部として指定する必要があります。

では、プロファイルの作成で最初に表示される「コンテキスト選択メニュー」の各項目について見てゆきましょう。

Application(アプリケーション)コンテキスト

アプリケーションコンテキストは選択されている一つまたは複数のアプリケーションの実行中に成立します。

【重要】 AndroidのバージョンL以降(原文 “Android versions after (and including) L” 、LとはLolipopのことでしょうか?よく解りません。)では、このコンテキストの成立の検知は極めて精度が低くなっています。アプリによっては全く検知しなかったり、アプリの起動を検知してもアプリの終了を検知せず、ずっとプロファイルがアクティブのままになったりします。

アプリケーション選択画面の各ボタン

アプリケーションコンテキストをメニューから選択すると、端末にインストールされているアプリのアイコンが並んだ画面が表示されます。この画面の下部にあるボタンについて説明します。

App(アプリ)ボタン

このボタンが選択状態にあると、ボタンのインジケーターが青色になります。これは、選択されたアプリの内のいずれかがフォアグラウンド(画面に表示されている状態)で実行されている時にコンテキストが成立することを意味しています。

Services(サービス)ボタン

この項目が選択状態の時には、選択されたアプリに関連するサービスが実行中にコンテキストが成立します。

サービスによっては実行されていることが明らかには判らないものがあることに注意してください。例えば、標準の音楽再生アプリは音楽を再生していない時でもダウンロードサービスを実行させている場合があります。

Invert(反転)ボタン

このボタンが選択状態の時には、選択されたアプリのいずれも起動していない時にコンテキストが成立します。

All(全て)ボタン

通常は、選択できるアプリとしてシステムのアプリ一覧に表示されているのと同じものしか選択できませんが、このボタンが選択状態の時には、これ以外にも起動可能なアクティビティが全て表示されます。このボタンが選択されていてもコンテキストの成立自体には何の影響も及ぼしません。

アプリケーションの起動のチェック

アプリケーションコンテキストが設定されていると、Taskerはアプリの起動を検知するために定期的に起動チェックを行います。チェックの間隔はデフォルトで1.5秒に設定されています。

より頻繁なチェックを行いたい場合や、逆に起動チェックが原因でバッテリーの消費が激しいと思われる場合は、メニューの ‘Preferences’ の項の ‘Monitor’ セクションからチェックの間隔を変更できます。

Time(タイム:時間)コンテキスト

タイムコンテキストでは、特定の時間範囲または時間上の1つ(またはそれ以上)の点を指定します。

タイムコンテキストの編集画面には、開始時間、終了時間、繰り返しの三つの項目があり、このうちいずれか1つは選択する必要があります。(左のチェックボックスをチェックすると有効です。)

  • From(開始時間):ここで指定された時間から、コンテキストが成立します。指定がない場合 00:00 が適用されます。
  • To(終了時間):ここで指定された時間に、コンテキストが不成立になります。指定がない場合 11:59 が適用されます。
  • Repeat(繰り返し):繰り返しが指定されていない場合、開始時間から終了時間までの間コンテキストが成立します。繰り返しが指定されている場合は、開始時間から終了時間までの間指定された時間ごとにコンテキストが成立します。

ビギナーモードが解除されていれば、チェックボックスの下の交差する矢印のアイコンをタップすることで、開始時間と終了時間の指定にグローバルなユーザー定義変数を使うことが出来ます。

その際、変数の値は13.45のように時と分を24時間表記でピリオドまたはコロンで区切って指定する必要があります。また、時または分が0で始まる場合、0の表記は省略可能です。この場合、9.7は午前9時7分を表します。

別の指定方法として、エポック秒で指定することが出来ます。この場合、時と分の部分のみが使われます。(※エポック秒とは時間を1970年1月1日午前0時0分0秒から経過した秒数で表す方法のことです。)

変数の値が変更されると、コンテキストが成立しているかどうかが再評価されます。指定された値が時間として評価出来ないものだった場合、コンテキストは不成立になります。

【注記1】 変数の値が変更される際、場合によっては ‘Profile Status’ アクションを使って対象のプロファイルを無効にしておいた方がよい場合があります。例えば、タイムコンテキストが16.00から16.00までの間に設定されていたとして(すなわち、16時ちょうどに成立するイベントコンテキストとして設定されている場合)、プロファイルが有効なままこれを17.00から17.00までに変更するために、開始時間を17.00に変更した時点で17時から翌16時までの23時間を指定したものと判断されて、恐らくはコンテキストが成立してしまうでしょう。

【注記2】 特定の時点を指定するには、開始時間と終了時間を同じにします。この場合コンテキストは瞬間的なイベントとして扱われ、コンテキストは成立してすぐに不成立になります。

繰り返しが設定されている場合も同様に瞬間的なイベントとして扱われます。

※このように、タイムコンテキストはその指定の仕方によって、ステートコンテキストとして扱われる場合もあれば、イベントコンテキストとして扱われる場合もあります。ステートコンテキストとイベントコンテキストの違いは少し後で説明します。

Day(デイ:日付)コンテキスト

デイコンテキストでは月、日、曜日をひとつまたは複数選択できます。とびとびに選択することもできます。

Months(月)の指定

編集画面上段に表示されている12ヶ月の中から月を選択します。複数の月を選択できますが、どの月も選択しなかった場合は全ての月を選択したのと同じ扱いになります。すなわちこの場合、コンテキストは常に成立の状態となります。

Days(日/曜日)の指定

曜日または日付を個別に指定することができます。指定した日付および曜日の一覧はプルダウンメニューから切り替えられます。設定画面を開いたときにどちらの一覧が表示されているかは、曜日の指定があれば曜日の一覧、それ以外の場合には日付の一覧がまず表示されます。

いずれの日も指定しなかった場合全ての日を指定したものとして扱われます。

曜日と日付を両方指定すると、両方の条件が満たされた場合のみコンテキストは成立します。例えば、月曜日と火曜日が指定され11日も指定されている場合、月曜日か火曜日でかつ日付が11日のときにコンテキストは成立します。

個別に指定した曜日と日付が望み通りのコンテキストになっているかをひと目で確認したい場合は、緑のチェックマークのボタンをタップして、いったんプロファイル一覧に戻るとコンテキストの欄に指定した条件が文章として表示されるので便利です。(※ただし、英文での表示になります)指定し直したい場合は、コンテキスト欄をタップすることで編集画面に戻ることができます。

Location(ロケーション:場所)コンテキスト

ロケーションコンテキストは、「その中にいるときにコンテキストが成立する」地理上の範囲を指定します。この範囲は緯度および経度によって表される特定の地点から一定の距離の内側というように円形のエリアとして指定されます。

Location Providers(ロケーションプロバイダー)

ロケーションプロバイダーとは地理的な位置を知るための手段のことです。Taskerはロケーションコンテキストの成立・不成立を判断するためにいくつかのロケーションプロバイダーを利用します。

GPS

最も正確な位置情報が得られます(±10メートル程度の誤差)。ただし屋内では精度が落ちるのと、バッテリーを消耗するという欠点があります。

GPSを確認する頻度はメニューのPreferencesの項目のMonitorタブから確認できます。スマートフォンが使用状態にあるときはGPS Check Seconds の項に設定された秒数ごとにGPSのチェックが行われます。スマートフォンが休止状態のときは All Checks Seconds の項に設定された秒数が使われます。

GPSによる位置の特定ははロケーション編集画面でGPSの使用を指定した場合に行われます。

Network(ネットワーク)

このロケーションプロバイダーは通信基地局やWifi情報(Wifiが使える場合)を元に地理的な位置を特定します。この方法ではGPSよりもバッテリー消費を低く抑えられますが、精度も低くなり時には数キロメートル程度の誤差が生じる場合があります。また、基地局の通信エリア内にいることが必要です。

ネットワークによる位置の特定はロケーション編集画面でNetの使用を指定した場合に行われます。

次のページも参考にしてください。

Location Edit (ロケーション編集画面)

プロファイルの作成メニューから ‘Location’ を選ぶとロケーション編集画面が開きます。この画面からロケーションコンテキストの設定ができます。

地図表示

地図上に以下の事柄が示されます。

  • ロケーションコンテキストで指定されている全ての場所(旗のマークの立っている地点)と名前が示されます。
  • 現在指定されているエリアの範囲が円で示されます。

現在編集中のロケーションコンテキスト以外のコンテキストの場所は青っぽい色の小さな円で表示されます。

地図の操作

地図上で長押しするとコンテキストに設定する場所を選択できます。

コンテキストの範囲を表す円の半径は地図の下のプルダウンメニューから選択します。

【重要】指定した円の半径が受信中の測位制度に比べて小さすぎるとコンテキストは成立しません。十分な測位精度を得られないときには半径を大きくしてください。一般的に十分な半径とは測位精度から得られる測位範囲の2倍程度です。

※GPSの測位誤差を十数メートル程度と考えると、30~50メートル程度が十分な半径と言えそうです。また、Netの場合は、測位誤差が最大で数キロになるので、10~20キロメートル程度は必要かもしれません。

地図上でタップするとズームボタンと衛星写真の切り替えボタン(左)およびストリートビューボタン(右)が表示されます。ストリートビューが更新されないときには地図を少しドラッグしてください。

地図データの更新をするための有効なインターネット接続のない状態でも、現在位置ボタン(次項参照)を使って現在位置の指定ができます。

画面下部の各ボタン

画面下部のボタンで使用するロケーションプロバイダーを選択します。

Net(ネット)ボタン

ネットボタンは現在地の取得にNetwork(ネットワーク)ロケーションプロバイダーを使うかどうかを指定します。

GPSボタン

GPSボタンは、現在地の取得に(GPSが受信可能であれば)GPSロケーションプロバイダーを使うかどうかを指定します。GPSが使えない場合、通信基地局またはWifiから位置情報を得るためにネットワークに接続できる環境が必要です。

現在位置ボタン

※現在位置ボタンは画面の上部にあります。

使用可能なロケーションプロバイダーから現在位置の情報を取得します。(GPSを使う場合GPSロケーションプロバイダーボタンが選択されていることが必要です)

位置情報が得られると設定された半径に基づいてコンテキストに緯度、経度および範囲が設定されます。設定の確定後に半径を小さくするとコンテキスト成立の判定精度が落ちる場合があります。

現在位置を決定するときにTaskerはより高い精度を得られるように(例えばより多くのGPS衛星を補足しようと)位置情報の取得に時間を使います。このプロセスを中止するにはもう一度現在位置ボタンをタップします。(位置情報の取得が完了するまでは、ボタンのアイコンが停止マークに変化します)

State(ステート:状態)コンテキスト

ステートコンテキストはソフトウェアやハードウェアの継続的な「状態(ステート)」によって成立します。

※「特定のアプリがフォアグラウンドで実行されている間」(アプリケーションコンテキスト)や、「何時から何時までの間」(タイムコンテキスト)や、「デバイスが指定したエリアの中に居る間」(ロケーションコンテキスト)などがステートコンテキストに分類されます。

ステートコンテキストにはこの他にも多くの種類があり、それらばプロファイルの作成メニューの ‘State’ の項を選ぶと一覧で表示されますのでそこから選択します。ただし、ステートコンテキストはその種類が多いのでいくつかのカテゴリーに分類されています。どのコンテキストがどのカテゴリーにあるかについてはこちらをご覧ください。

ステート編集画面ではステートとそのパラメーターを設定します。

ステートの種類

ステートの種類は画面の一番上に表示されます。タイプ名の横の輪を描いた矢印のアイコンをタップするとステートの種類を変更できます。

その横にあるクエスチョンマークのボタンをタップすると現在のステートとそのパラメーターに関する情報を表示します。パラメーターの設定に問題がある場合はここを確認してください。

ステートパラメーター
一般的なパラメーター

全てのステートはステートの詳細を指定するためのパラメーターを持っています。

テキストパラメーターはパターンマッチングに使われます。

Invert(反転)パラメーター

全てのステートは反転パラメーターを持っています。これは通常コンテキストが成立する状況で不成立にし、不成立になる状況で成立するように判定を逆転させるものです。

Event(イベント:出来事)コンテキスト

イベントコンテキストでは、例えばSMSの受信やスクリーンオフなどのイベントをプロファイル成立の条件にすることができます。

イベントコンテキストは他のコンテキストが一定の時間成立し続けるのに対して瞬間的に成立状態が終わるという点で少し異なります。

このような事情から例えば、スクリーンの明るさをイベントの間ある値にセットするというような指定は意味を成さないので、Taskerは全てのsettings(セッティング)アクションはイベント後も継続するものと解釈します。

イベントの指定についての詳細はイベント編集画面の項をご覧ください。

Event(イベント)パラメーター

あるイベントによってタスクが実行されるとそのイベントのパラメーターがタスクに渡されるのでイベントの詳細に基づいて様々な決定を行うことができます。

パラメータは変数配列 %evtprmへ渡されます。

変数配列の各要素にはイベントのパラメーターと同じ順番で値が格納されます。

【例】あるイベントの二番目のパラメーターがアプリケーションだったとすると、実行されるタスクの変数配列の二番目の要素 %evtprm2にはこのイベントによって起動されるアプリケーションのラベルが格納されます。

Event Edit (イベント編集画面)

この画面ではイベントコンテキストの設定を行うことができます。

Event Name(イベント名)

画面の一番上にはそのイベントの名前が表示されます。イベント名の横の輪を描いた矢印のアイコンをタップするとイベントの種類を変更できます。

その右側にある輪を描いた矢印のアイコンをタップするとイベントに関するヘルプが表示されます。

Priority(優先度)

優先度を設定できるイベントでのみ設定できます。

このイベントの発生が検知されたときの優先度を選択します。イベントはTaskerの各プロファイルや他のアプリケーション、またはシステムによって処理されます。

優先度が高く設定されているとプロファイルは他のプロセスよりも先にこのイベントの発生を検知する可能性が高まります。低く設定した場合はその逆です。

Stop Event(イベントの通知停止)

関連するイベントでのみ設定できます。

この項目をチェックした場合、プロファイルがイベントを処理するとその他のアプリケーションがこのイベントの発生を検知することはありません。

優先度とイベントの通知停止を組み合わせることで独自の処理を実現できます。たとえば、シャッターボタンが押されたときにカメラを起動する代わりにTaskerによるメニューを表示したいとします。この場合優先度を高くしてイベント通知の停止を有効にしておくことでカメラが起動するのを防ぐことができます。

Event Parameters(イベントパラメーター)

いくつかのイベントではより詳しくパラメーターを設定することができます。個々のパラメーターについての説明を見るには「?」マークのアイコンをタップしてください。

テキストパラメーターの扱いについてはパターンマッチングを参照してください。

数式を使うなどより複雑な比較をしたい場合、イベントパラメーターは空白のままにしておいて、その代わりにプロファイルから実行されるタスクの最初のアクションに条件分岐行うアクションを配置してください。