見出し画像

TaskerでAndroidで遊んでみた話

こんにちは!

ここのところAndroid関係の記事を書いてるわけですが、今回もその流れでAndroidについての話です。iPhoneと比較した時のAndroidの真骨頂がカスタマイズ性という話は以前も書きましたが、それを最大限に活かすためのアプリ「Tasker」について書いていきます!

一応前回・前々回の続きの面もあるので、そちらを読んでない方は、ぜひそちらも合わせて読んでみて下さい!


Tasker

タイトルの通り、今回のメインテーマはAndroidアプリの「Tasker」です。ご存じの方も多いかもしれませんが、昔からあるAndroidアプリケーションで、なにかの操作や条件をトリガーに色々なアクションをおこせるようなアプリとなります。これ単体で何かを行うというよりは、タスクを管理するためのアプリケーションという感じですね。Google playのページはこちら。

また、利用者も多いアプリということもあり、使い方についてまとまったページも有ります(日本語版もあり)。アプリ自体も当初は英語のみでしたが、いまは日本語版もあるので、使うハードルは割と低いと思います。

昔から気になっていたアプリだったのですが、有償(数百円ですが)ということもあり、だいぶながいこと導入をためらっていました。しかし、前回の記事との関係で上手く使えそうだと思い、せっかくなので使ってみることにしたわけです。色々と周辺の知識も増えてきた今なら色々と使えそうかなと!

このTaskerはAndroid端末の操作やセンサー類の値、状態を検出して、その条件をもとになにかを行うと言うアプリケーションです。イマイチピンと来にくいかもしれませんが、おそらく具体的な例を見たほうがわかりやすいと思います。

例えば、地図アプリが起動されたらGPSをオンにする、特定のWifiが近くにあるときにWifiをオンにする、Youtubeアプリを開くと音量を大きくする、特定の時間に音を鳴らす、ヘッドセットを接続すると音楽アプリを開くなどなど、複数のアプリや設定を接続するようなアプリですね。

ピンと来た方も多いと思いますが、結構プログラミング的なことが出来るアプリなんですが、操作自体はGUIベースで使うので特別な知識はそこまで必要ないかなと思います。もちろん、凝ったことをしようとすると色々と考えなければならないわけですが、それなりにパソコンとかになれた人であれば触っているうちに理解できるのではないかなと!

内部変数にアクセスできたり、自作の変数を設定できたりもするので、できることの幅はとても広いです。逆にできることの幅が広いぶん、アイデアが試される感じですね。後にも紹介しますが、前回・前々回に紹介したTermuxとの連携もできるので、そちらで書いたスクリプトやプログラムを動かすこともできたりするので、それを使えば可能性は無限大ですねw


使ってみる

まずはなには無くとも使ってみようということで、簡単な操作からやってみました。ちなみにTaskerの画面はこんな感じ。「プロファイル」がタスクを行うためのトリガー(条件)で、「タスク」が実際に行うアクション、「シーン」はまだ使ったことはないですが、専用の入出力GUIのような物を指しているようです。「変数」はその名の通りですね。

画像1

まずひとつめは動画系アプリを開いた時に画面回転を有効にすること(そして閉じた時にまた無効化すること)。通常使いする分にはAndroidの自動画面回転機能は邪魔なので普段はオフにしているわけですが、動画系のアプリを開く際は横長の画面で見たいので、それを自動で設定変更できれば良いなと言うモチベーションです。

非常に些細な内容ではありますが、Youtubeやニコニコを見る頻度はそこそこ多いので、こういうちょっとした設定の自動化はだいぶストレス軽減になりますね。まあ、この設定自体はTaskerの紹介系の記事などでよく見るユースケースかなぁと思います。あと、前回・前々回紹介したターミナルエミュレータTermuxについても横長の方が使いやすいので、こちらもまとめて画面回転を自動でONにするように設定しておきます。

また、前々回紹介したとおり、Termuxの入力の際には通常のAndroidの入力キーボード(Google日本語入力)ではなく、「Hacker's Keyboard」というPCライクのキーボードを使いたいので、Termuxを開く時と閉じる時にキーボードの選択画面が出てくるように設定しました。できれば自動でキーボードの設定までできると良かったのですが、そこまでのやりかたがわからなかったので、とりあえずの次善策ということでキーボード選択画面がでるように設定しています。

あとは、Bluetoothを利用して、自宅に常設しているデバイスを検出したらWifiをオンにするような設定をしました。Wifiを常にオンにしておくとそこそこ電池を食ってしまうものの、帰宅するたびにオンに切り替えるのはめんどうなので自動化する感じですね。電池以外にも、WifiをオンにしているとキャリアのWifiに勝手につなぎにいこうとして鬱陶しいので、そういう意味でも外出中はオフにしておきたいというのもありますね。

こうしてみてみると、やはり手動でやっていたちょっとしたことを自動化するのには適しているアプリのようですね。もちろん、できることはまだまだ多いと思うので、またなにかおもしろいことを思いついたらこちらで紹介したいと思います。


Termuxとの連携

ということで、だいたいの使い方がわかったので前回の記事で残った課題をTaskerで解決します。といっても、やること自体は全然大したことありませんw

前回の記事を読んでいない方のために簡単に説明しておくと、Termuxという端末エミュレータでAndroid端末で撮影した写真の改名とバックアップのスクリプトを書いたのですが、自動実行の部分で課題がありました。自動実行用のcronはあるのですが、Termuxが常時起動していないとcronも働かなくなってしまうので、自動実行がなかなかうまく行っていないのが現状でした。

Termuxを常駐させるような設定の仕方もあるとは思いますが、そのやり方をしらべるのもちょっと面倒だったので、このTaskerを使ってサクッと解決させたわけです。

TaskerからTermuxのコマンドを打ち込むには、下記のプラグインを導入すればOK。

このアドオンを使うと、TaskerでキャッチしたトリガーからTermuxコマンドの実行が可能になります。今回はシェルスクリプトを動かすだけですが、各種言語の実行環境をTermux側で構築してやれば、その言語で開発したコードを実行することもできるわけなので、応用の幅は果てしない気がしますw

今回実行するのは、前回紹介したスクリプト(詳細は前回の記事参照)。あくまでも定期実行するのが今回の目標なので、プロファイルとしてはシンプルに特定の時間に実行するのみです。通常のLinux機であればcronでやることをTaskerでやらせるようなイメージですね。Taskerはそもそも常駐するアプリなので、Termuxのcronと違ってアプリの起動状況を気にしなくて良いのは楽です。


まとめ

ということで、今回はTaskerの基本的な使い方と、Termuxとの連携で前回の課題を解決したことについて書きました。僕もまだまだ確認しきれていないのですが、これを使うことでスマホで出来ることはだいぶ広がりそうな気がするので、なにかおもしろいことができたらまた紹介したいと思います!

それでは、また!

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