Wi-Fiと3G通信を遮断することで広告カットするタスクを前回作成した。
しかし、アプリによっては実行中にネット接続を繰り返すものもある。
そればかりか、そもそもネット接続することで機能を果たすアプリもあるので、一旦通信を遮断しても実行中に接続を復活してしまう場合がある。
そこで、そんなアプリに対して、バナー広告のエリアを目隠しするタスクを作成してみた。
使用するのはsceneの機能である。バナー広告に会うサイズのsceneを作成し、「overlay, blocking」の属性でバナーの位置に表示すれば「目隠し」の役割をするし、タップをしたときも広告が反応しない。
(background colourは黒などの濃い色にすると良さそう)
さらにscneneにボタンを配置し、今回は標準のブラウザを起動する機能を持たせた。
見た目的にバナー広告のサイズにぴったり合わせるのは難しい。
(位置合わせに使用するgridが最小でも「10」にしかならず、ドット単位の調整ができない)
結局一度作成したsceneをxmlファイルにexportし、editorでサイズ情報を480x80に書き換え、再度Taskerにimportすることにより、ぴったりサイズに調整した。
ポイントはアプリ起動をトリガーにしてtaskを実行し、exit taskでsceneをdestroyすること。
これでメモリーの消費も最小限で抑えられるはず。
こんな形で特定アプリの上からoverlayのsceneを被せて、自分好みの?機能を追加するのは役に立つ場面があるかもしれない。
これはすべて個人の暴走である。