Androidの”自由度”を全開放する「Tasker」本格実践術【project配布あり】

[PR記事]

 

octoba.net.howtotasker-1

今回はAndroid界のラスボス的存在の1つ、「Tasker」に関するお話です。
これまでも何度かプロファイルを紹介してきましたが、今回はもうちょっと掘り下げて、Taskerの設定やTaskの使い道、軽い応用編なども考えてみます。

Tasker
価格:399円
開発:Crafty Apps EU


プロファイル作りの頼れる味方 日本語解説Wikiを活用しよう

octoba.net.howtotasker-2

Taskerのメニュー、「Browse Examples」から飛べるユーザーWikiは英語です。また、Taskerには言語設定がありますが、日本語に対応していません。
ただでさえ非常に多機能で複雑なアプリなのに言語の問題まで抱えてしまうと、なかなか手を出しづらいかもしれません。
そこで活躍するのが日本語の解説なのですが、有志が@ウィキに情報を纏めてくれています。

Tasker for Android 日本語化をめざす @ ウィキ – トップページ

記憶に新しいatwikiの情報流出騒動が不安だという方は下記もあわせてご覧ください。

@wikiご利用ガイド – 更新情報/2014年/03月/09日/改善:メンテナンス・障害情報: 【お詫び】ユーザ情報流出に関するお知らせ

一応この記事の2ページ目にも、簡単に使えそうなもののみですがリストアップしておきます。

まだ買ってない人は7日間限定の試用版もあります

octoba.net.howtotasker-3

ただし野良アプリ(Google Play以外の場所からダウンロードしたapk)になります。
野良アプリをインストールするには「提供元不明のアプリ」にチェックを入れる必要があります。また「設定 >セキュリティ」の「アプリを確認する」項目と、「Google設定」アプリの「アプリの確認」項目をONにしておくことも推奨されます。

Taskerのデベロッパのウェブサイトにて、7日間使える試用版が無料配布されています。
Downloadページに、Android 1.5用、1.6〜3.x用、4.0以上用の3種類がありますので、自分の端末のOSバージョンに合ったものをダウンロードします。
※ほとんどの端末にはプリインストールされていますが、Taskerは「Googleマップ」アプリが必要だと書かれているので万が一入ってない場合はご注意ください。

その他注意事項やFAQなどはデベロッパのウェブサイトをご確認ください。

プロファイルを作りやすい、扱いやすいContext

octoba.net.howtotasker-4

Taskerは「発動条件(Context)」と「条件を満たした時の動作(Task)」を組み合わせた「プロファイル」でもって運用されます。
最初からVariable(変数)とかに手を出すと頭痛が起きちゃうので、比較的シンプルなプロファイルから作成してみると良いでしょう。

数あるContextの中でも扱いやすそうなものとしては、

Application … 「指定したアプリを起動した時」をトリガーとする
Day … 「指定したタイミング(日付、曜日)」をトリガーとする
Location … GPSや無線ネットワークと連動し、「指定した位置」をトリガーとする
Time … 「指定したタイミング(時間)」をトリガーとする

などがあります。
日付や時間、位置をトリガーとする場合は「IFTTT」でも似たようなことができますね。
またこれ以外にも「指定した動作」をトリガーとする方法もあります。それが「Event」と「State」で、この中で扱いやすそうなものとしては、

Event
Display
 Display Off … 画面消灯時
 Display On … 画面点灯時
 Display Unlock … アンロック時
Hardware
 Button: Camera … カメラボタン(あれば)が押された時
 Button: Long Search … 検索キー(あれば)を長押しした時
 Card mounted … SDカードのマウント時(取り付け、認識)
 Card Removed … SDカードのリムーヴ時(取り外し)
 Card Unmounted … SDカードのアンマウント時(マウント解除)
Phone
 Missed Call … 不在着信時
 Phone Idle … 通話を切った時
 Phone Ringing … 着信時
 Received Text … SMS/MMSの受信時
 SMS Success … SMS/MMS送信時
Power
 Battery Changed … バッテリーレベルの変化時(減っても増えても)
 Battery Full … バッテリー満タン時
 Battery Overheating … バッテリー発熱時
Sensor
 Shake … 端末を振った時
UI
 Notification … 通知が届いた時
 Notification Click … 通知をタップした時

State
App
 Calendar Entry … Googleカレンダーのエントリー
 Unread Text … 未読メッセージがある時(SMS/MMS/どちらでも)
Display
 Display Orientation … 画面回転(縦画面時/横画面時)
 Display State … 画面点灯・消灯時
 Dreaming … スクリーンセーバー起動時
Hardware
 Headset Plugged … 有線ヘッドフォンなどを接続した時
 USB Plugged … USB接続された時
Net
 Airplane Mode … 機内モード時
 BT Connected … Bluetooth機器接続時(対象指定可能)
 BT Status … BluetoothのON/OFF時
 BT Near … 近くにBT機器がある時
 Wifi Connected … Wi-Fiに接続した時(対象AP指定可能)
 Wifi Near … 近くにWi-Fi APがある時
Phone
 Cell Near … 現在掴める携帯基地局(これで大体の位置が把握できる)
 Call … 発着信時(番号指定可能)
 Missed Call … 不在着信時
 Signal Strength … 電波強度が指定した範囲内になった時
Power
 Battery Level … バッテリーレベルが指定した範囲内になった時
 Power … 充電時(AC/USB/ワイヤレス/どれでも)
Sensor
 各種センサーを使って端末の状態(向きや角度、明るさ、近接センサーの検知など)をトリガーとする

などがあります。
これらの中から必要なトリガー(プロファイルが発動する条件)を決め、続いてTask(条件を満たした時に”何をするか”という部分)を決めます。

すぐに使えるTask

octoba.net.howtotasker-5

Contextで決めた「条件」を満たした時、自動的に実行される動作のことを「Task」といいます。
Contextを決めたら、その次にTaskから「何をさせるか」を決めます。
この時Taskに名前をつけることができ、名前をつけたものは「TASKS」タブに登録され、複数のプロファイルで使いまわせるようになります。

なお組み立てを間違えたり、一度組んだ後で必要なものが失われた時(アプリをアンインストールした時など)といった理由から発動できなくなったTaskには印がつきます。

octoba.net.howtotasker-6

Taskもまぁビックリするほど多種類あります。
目的のものを探したい時はキーワードでフィルタをかけても良いかもしれません。

またTaskには特定の条件を満たさないと使えないものがあります。例として画面ロックに関する項目(Display → System Lock 等)を使いたい場合は「端末管理者」の有効化が必要です(一度有効化すると、再度無効化するまでアンインストールできなくなります)。
また項目が赤く×印がついているものは、その端末では対応していないか、必要なアプリ等が入っていないため使えません。

扱いやすいものとしては、

Alert
 Flash … トーストでテキストを表示
 Menu … ポップアップメニューを表示
 Notify◯◯ … 通知を作成(通知領域に表示、削除、LED点灯、通知サウンド再生、バイブレートなど)
 Popup … ポップアップメッセージを表示
App
 Calendar Insert … Googleカレンダーに予定を書き込む
 Go Home … ホーム画面に戻る
 Kill App … 指定したアプリを強制終了
 Launch App … 指定したアプリを起動
Audio
 ◯◯Volume … 各種ボリュームを変更
 Notification Pulse … 消灯中にLEDで通知
Display
 Auto Brightness … 明るさ自動調節の有効化/無効化
 Car Mode … 自動車モード有効化/無効化
 Display Brightness … 画面の明るさの設定
 Display Rotation … 画面自動回転の有効化/無効化
 Display Timeout … バックライト点灯時間の設定
 Lock … Taskerによる画面ロック
Media
 Media Control … 曲のコントロール(再生、一時停止、曲送り等)
 Music Back … 指定した秒数、曲を戻す(Play Musicアプリをサポート)
 Music Play … 再生
 Music Play Dir … 指定したディレクトリ内の曲を再生
 Music Skip … 指定した秒数、曲を進める(Play Musicアプリをサポート)
 Music Stop … 停止
 Take Photo … 写真を1枚撮る
Misc
 Say … 指定したテキストを、端末に入っているTTSを使って読み上げる
Net
 Auto-Sync … 自動同期のON/OFF
 Bluetooth … BluetoothのON/OFF
 WiFi … Wi-FiのON/OFF
 WiFi Net … Wi-Fiの接続変更(切断/再検索/再接続)
 Wifi Sleep … Wi-Fiスリープ
 Wifi Tether … Wi-FiテザリングのON/OFF
Settings
 各種設定画面を開く
Tasker
 Wait … “待ち時間”を発生させる
3rd Party
 リストにあるアプリをTaskerから制御する

などがあります。

候補がこれだけあるため組み合わせは膨大。そこで応用編のサンプルを1つご紹介します。

Context(発動条件)を厳密化する

octoba.net.howtotasker-7

トリガー(Context)
State → Sensor → Orientation
 Is「Right Side」

アクション(Task)
Media → Media Control
 Cmd「Next」

行動
端末を右に傾けると曲送りする

このプロファイルを運用すると、音楽再生中にクルッと端末を傾けるだけで次の曲に移ってくれます。
ここに更に一工夫加えてみます。

octoba.net.howtotasker-8

プロファイルを展開し、トリガー(Context)部分を長押しして「Add」を選びます。
するとContextにContextを追加できます。どういうことかというと、発動条件を複数設けることでトリガーを厳密にできます。

octoba.net.howtotasker-13

「Add」を押してから、

State → Power → Power
 Source「Any」

を追加しました。
これでこのプロファイルはトリガーを2個持つことになり、「充電中に端末を右に傾けると曲送りする」ようになります。

このままじゃ使えないですよね。更に一工夫します。

条件を反転させる「Invert」

octoba.net.howtotasker-10

追加したほうのContextを開き、「Invert」にチェックを入れます。
ここにチェックが入ると”条件”が反転します。

octoba.net.howtotasker-12

つまり、このプロファイルは「充電中以外の状態で端末を右に傾けた時」に発動するようになります。
こうしておけばクレードルで充電する際などに発動しなくなります。

1つのプロファイルに複数のことをさせるには

octoba.net.howtotasker-11

発動条件だけでなく、発動時の動作も複数実行できます。
Task部分を開いて、

octoba.net.howtotasker-14

+ボタンからTaskを追加します。

octoba.net.howtotasker-15

Display → Status Bar
 Set「Expanded」

を追加しました。
これでこのプロファイルが発動した時の動作は「曲送りをし、通知領域を開く」ようになります。
なおTaskは一覧の上から1つずつ実行されていきます。

octoba.net.howtotasker-16

発動順を変えたい時は移動できます。また移動中はごみ箱アイコンが出現し、重ねるとその行動を削除できます。

「Exit Task」を作って”終了動作”を追加

octoba.net.howtotasker-42

まずは普通にプロファイルを作ります。
トリガー(Context)
State → Power → Power
 Source「USB」

アクション(Task)
①Net → Auto-Sync
 Set「Off」
②Net → Bluetooth
 Set「Off」
③Net → WiFi
 Set「Off
④Display → System Lock

行動
USBケーブルを繋いで充電を開始すると、自動同期、Bluetooth、Wi-Fiをオフにして画面消灯する

このプロファイルに「Exit Task」というものを追加します。するとどうなるでしょう?
ちなみに今回作る「Exit Task」との差別化が必要な場合、先に作った「Task」のことは「Enter Task」とも呼称します。

octoba.net.howtotasker-43

プロファイルを展開してからTask部分を長押しして「Add Exit Task」を作ります。

octoba.net.howtotasker-44

①Net → Auto-Sync
 Set「On」
②Net → Bluetooth
 Set「On」
③Ner → WiFi
 Set「On」

を追加しました。これでこのプロファイルは、
「USB経由で充電が始まった時」に発動して「自動同期、Bluetooth、Wi-FiをOffにして画面を消灯する」行動をとります。これがEnter Task(緑色の「→」)の効果。
そして、
USBが外され(充電が停止)した時」にもう一度発動して「自動同期、Bluetooth、WiFiをOnにする」行動をとります。これがExit Task(赤色の「←」)の効果です。

基本的にTask(Enter Task)はトリガーに指定した条件を満たした時に発動します。Exit Taskはこの逆で、一度条件を満たしてプロファイルが発動した後、再度条件を満たさない状態に移行した時に発動します。

octoba.net.howtotasker-45

Enter Task側の4番目「System Lock」で画面を消灯していますが、Exit Task側には「画面点灯」用の行動は入れていません。端末によっては接続時・切断時自動で画面が点灯するものやそうした設定などもありますので、このあたりはお好みで。

【OCTOBA】AndroidApp『Tasker』のプロファイルテスト2 |YouTube

このように動きます。

続いては更なる応用についてです。

Taskの発動に”時間差”を設ける方法

octoba.net.howtotasker-7

トリガー(Context)
State → Power → Power
 Source「Any」

アクション(Task)
①Task → Wait → 任意の時間を指定(画像では7分に指定)
②Display → System Lock

行動
充電が開始されたら7分待ってからロックする

このように「Wait」のTaskを使うと、その次に指定した行動を行うまでに一定の待ち時間を発生させることができます。
これを活用し、例えば「画面消灯したら1分待ってからモバイルデータ通信を無効化する」プロファイルを作ったり、あるいは「2時間待ってから再生を停止する」Taskのみを作っておいてショートカットをホーム画面に置き、寝る時に音楽をかけてからこのショートカットを使用するとスリープタイマーとしても使えます。

そう、

Taskはそれ単体でも使えるんです

octoba.net.howtotasker-17

Taskerは「ショートカット」「ウィジェット」両方に対応しています。
ホーム画面に置くだけならウィジェットで十分ですが、ショートカットに対応していると各種サブランチャーにも置けるようになるため利便性が格段に上がります。

octoba.net.howtotasker-18

ためしに1つショートカットを置いてみます。
「Task Shortcut」を選ぶと、「TASKS」に登録されたものがリストアップされます。
そこから設置したいTaskを選ぶのですが、この時「Task」自体にアイコンを指定しておく必要があります。アイコンの指定は画面右下から行います。

octoba.net.howtotasker-20

設置後にショートカットをタップすると、指定したTaskが即座に動き出します。

ウィジェットを使えば”Wait”は不要

octoba.net.howtotasker-21

Taskerのウィジェットを設置しようとすると「Task Timer」というものがあります。
名前の通りTaskをタイマー仕掛けで発動してくれるものです。常に最新情報を取得し続けられるウィジェットだから出来ることです。

続いてはプロファイルの運用を行いやすくする方法についてです。

「発動した」ことをわかりやすく視覚化してくれる「Flash」

octoba.net.howtotasker-19

「Alert」 → 「Flash」をTaskに追加すると、好きな文字をトースト表示させられます。
これをTaskに加えることで、そのプロファイルが発動したことが目でわかるようになります。

※ただし万が一Taskerの通知を切っている場合はトーストメッセージも出ませんのでご注意ください。

「発動した」ことを触覚で伝える「Vibrate」

octoba.net.howtotasker-22

「Alert」 → 「Vibrate Pattern」をTaskに追加すると、好きな長さ、頻度、回数で端末を振動させられるようになります。
「Pattern」には任意の数字をコンマで区切って入れます。

数字の意味は「待ち」と「振動」が交互に行われるもので、単位はms(ミリ秒)です。
右の画像では「1000ms(1秒)待ってから100msだけ振動」という動作を3回繰り返しています。

特にこちらのバイブレーションを活用すると、スリープ中にプロファイルを発動させたい時にも役立ちます。

画面消灯中もTaskerによるトラッキングを続けるには

octoba.net.howtotasker-23

Taskerのメニューから「Preferences」を選びます。
するとTaskerの設定画面になるので、「MONITOR」タブを開きます。
少し下にスクロールすると「Display Off Monitoring」という項目があるはずです。

ここで許可したセンサーは画面消灯中も動き続けることになります。
Taskerが監視できるセンサーは、

Accelerometer … 加速度センサー
Humidity Sensor … 湿度センサー
Light Sensor … 照度センサー
Pressure Sensor … 圧力センサー
Proximity Sensor … 近接センサー
Temperature Sensor … 温度センサー

などです。
センサーの検知は「ON」「OFF」以外に「When Power Connected(充電器に繋がっている時のみ有効)」もあります。

※ただし端末によって搭載しているセンサーが異なる(例として通話できないタブレットには近接センサー非搭載のモデルもある)ため注意が必要です。
※この記事の作成にはNexus 5(スマートフォン)を使用しています。

これら以外、例えばWi-Fi、Bluetooth、GPSなどは許可するまでもなくスリープ中も動いています。Taskerはこれらのチェックも調節でき、「All Check Seconds」で指定した間隔(単位はミリ秒)ごとにWi-FiやBT、ロケーションをスキャンします。この部分の設定次第でバッテリードレインが増加する可能性もありますので注意してください。

以上の纏めとして、先ほどのプロファイルを更に使いやすくします。

必要なセンサーを把握しよう

octoba.net.howtotasker-24

まず結論からいきます。Context/Task両方に1つずつ動作を加えました。

Context側は「State → Display → Display State」、Is「Off」
Task側は「Alert → Vibrate Pattern」、Pattern「100,1000」とし、Taskの並び順を変更(先にVibrateが発動するように)

としました。

これでこのプロファイルは発動条件が3つあり、発動時の動作は2つあります。
ではどのように動くのか?

「充電中以外の状態で画面消灯中に端末を右に傾けると発動」し、「100ms待ってから1秒間振動、その後曲送り」します。
※バッグの中などで誤作動を起こしてしまう場合、「Display State」のIsを「On」にするのも良いかもしれません。こうするとこのプロファイルは画面点灯中にしか発動しなくなります。

移動中の音楽鑑賞が少しでも楽になっていれば幸いです。

ところで、「端末を右に傾けた」ことを検知するにはどのセンサーが必要だと思いますか?
先ほど書いた「Display Off Monitoring」にて対象のセンサーが有効化されていない場合、画面消灯中に発動させることはできません。

octoba.net.howtotasker-25

わからない時は「?」を押してみます。これはヘルプのことで、動作などに関する詳細を確認できます。
「State → Sensor → Orientation」を使うにはAccelerometer(加速度センサー)が必要なようです。

オマケレシピ : 端末に手をかざして画面点灯

octoba.net.howtotasker-26

トリガー(Context)
①State → Sensor → Orientation
  Is「Face Up」
②State → Sensor → Proximity Sensor
③State → Display → Display State
  Is「Off」

アクション(Task)
Alert → Popup

行動
①端末が水平状態
②近接センサーが物体を検知
③画面消灯状態

以上の条件を全て満たした時にポップアップメッセージを表示(に連動して画面が点灯する)

【OCTOBA】AndroidApp『Tasker』で作ったプロファイルの動作テスト |YouTube

このように動きます。
「Display → Turn On」のTaskが×(使えない状態)だったので、かわりにPopupを用いました。
Contextの①のおかげで端末が水平状態にない時、例えばポケットの中などで誤作動を起こすことはありません。

octoba.net.howtotasker-27

ポップアップメッセージの形式も自由に指定できます。
「Timeout」から時間(単位は秒)を指定することで、一定時間だけ表示することもできます。
また領域の大きさや背景スタイルは「Scenes」を使います。

octoba.net.howtotasker-28

TaskerのScenesを使うと、トーストやポップアップといった「ウィンドウ」だけでなく、タップした時に指定の動作をさせる「ボタン」まで作ることが可能です。
…が、さすがに長くなりすぎたのでまたいずれ機会があれば触れたいと思います。

octoba.net.howtotasker-29

最後に、プロファイル発動の感度が悪い、誤作動が起こる場合などはPreferenceの「MONITOR」タブの一番下の「Orientation State Accuracy」を変更してみてください。
傾き検知の精度を調整する項目です。

Taskerの合言葉は「それ、Taskerでできるよ」です。
Variable(変数)を使えばもっと自由に、もっと厳密に、狙い通りのタイミングに狙い通りの動作をさせることもできます。
が、変数を使わなくてもこれだけ自由です。発想次第で端末の操作をほぼ全部自動化してしまうことも夢ではないかもしれません。

もし次回があったらプラグインに関しても触れてみたいと思っています。
次ページでは、音楽コントロールと画面ONのプロファイルを配布します。もしよければ使ってみてください。ただし、もっと効率的な方法もあるかもしれませんが…(汗

今回作ったプロファイル

octoba_project1.prj.xml|Dropbox
まず、上記のリンクよりファイルをダウンロードしてください。Dropboxアカウントなどは必要ありません。
プロジェクト形式にしてありますので、次の方法でインポートしてください。

octoba.net.howtotasker-30

まずTaskerのPreferenceを開いて、「UI」タブの一番上の「Beginner Mode」からチェックを外します。
するとアクションバーが変化して家のマークが出現します。

この状態になったら一旦Taskerは閉じて、ファイラーを開きます。

octoba.net.howtotasker-31

ダウンロードしたxmlファイルを次の場所に移動してください。

/内部ストレージ/Tasker/projects

の中です。もし「Tasker」フォルダの中に「projects」フォルダがなければ作ってください。

octoba.net.howtotasker-32

ファイルを移動したらTaskerに戻って家のマークをタップします。
「Import」を選ぶとオクトバのプロジェクトファイルが出てくるはずですので、タップしてインポートします。

octoba_net_howtotasker-34

プロジェクトが追加されました。プロジェクトとは複数のプロファイルを纏めたフォルダのようなものです。
ポップアップされたメッセージにも要注目。Taskerは出来ることがあまりにも幅広いため、やろうと思えばストレージ内のファイルを勝手に削除したり、スパムSMSなどを送りつけるプロファイルを作ることも不可能ではありません。
よそから手に入れたプロファイルやプロジェクトを安易に追加するのは危険です、という内容です。

今回作ったプロファイルは2つとも「Task」に通信を使うものを一切使用していないため危険性はないですが、消灯中にセンサーを稼働させる必要があったりするのでバッテリー消費に影響を与える可能性は否定できません
あとから削除もできますので、お試し程度の認識でお使いください。




Tasker
価格:399円
開発:Crafty Apps EU




アプリ名Tasker
対応OSAndroid 1.6 以上
提供元Crafty Apps EU
レビュー日2014/06/23
  • ※お手持ちの端末や環境によりアプリが利用できない場合があります。
  • ※ご紹介したアプリの内容はレビュー時のバージョンのものです。
  • ※記事および画像の無断転用を禁じます。

執筆者