Androidのアプリ,Tasker/Locale から起動できるプラグインを実装するための参考情報です. Taskerプラグインの作り方Androidには,Tasker というアプリがあります. ここでは詳しく説明しませんが,ある条件を満たしたときにある操作を行うというアプリです. ここで行える操作は,Taskerが標準機能として多数内蔵しているのですが, プラグインの機能を実装しているアプリであれば,そのアプリをTaskerから制御することもできます. 拙作の 山旅ロガーSmart/Tasker で, このプラグイン機能を実装してみましたので,実装についての情報について簡単にまとめます.
追記あとでネットを調べたところ,以下のページに日本語の詳しい解説がありました.このページよりそちらを見た方がわかりやすい気がします...実装方法の情報といっても,以下の2つのページの情報を確認して,Locale Developerの方からダウンロードできる2つのサンプル (Display Condition,Toast)のソースを見れば,おしまいだとは思います.TaskerプラグインはLocaleプラグインの仕様が基本になっているようでして,Localeプラグインの仕様が2つめのページ, 1つめのページはTaskerに実装されているものの差分情報になります. Toastサンプルがシンプルですので,まずはこのソースを読むのがよいと思いますが,おおまかには以下の2点だと思います. (1) TaskerのUIからそのアプリをTaskとして登録するときに, com.twofortyfouram.locale.intent.action.EDIT_SETTING (2) TaskerでそのTaskを行う条件が発火したときに, com.twofortyfouram.locale.intent.action.FIRE_SETTING セキュリティ上の(2)のように,発火したときのTask発動にブロードキャストインテントを使うため, 受け取ったプラグイン側では,送信元がTaskerなのかどうかを判断できないと思います.そのため,Tasker以外の何らかの悪意のあるアプリが発行したブロードキャストインテントによって発火されてしまうという可能性を, 防げないのではないかと思います. (そういうアプリが実際にあるかどうかはわかりませんが,可能性の話です) このような,利用者の意図しないタイミングでプラグインが発火されてしまうということは回避しようがないと思っていまして (回避する方法があれば知りたいです), 個人的には以下の保険的対策を取っています.
また他の案として,発火のログを残して,あとで利用者が参照できるようにするのも良い気がします. |