PAPERANG+TaskerでAndroidスマホからおみくじ印刷

できること

スマホの画面のアイコンをタップすると、モバイルプリンター(PAPERANG)からおみくじが印刷されます。
ランダムなので、タップするたびに結果が変わります。

作ろうと思ったきっかけ

友人にPAPERANGの面白い使い道がないか聞かれて、何か作ったろと思い。

用意するもの

PAPERANG

スマホ対応のモバイルプリンター。

PRINT ON PAPERANG

PAPERANG純正アプリではないが、[アプリで開く]からシンプルに印刷だけできる。
Googleストアで見つけてください。

Tasker

Androidの操作を自動化してくれるアプリ。

おみくじ用画像

適当な画像を拾ってくるもよし、自分で作るもよし。
今回は、某ウェブサイトの過去のおみくじ画像26枚をひろってきました。

概要

  1. アプリをインストールする(Tasker, PRINT ON PAPERANG)
  2. おみくじ用の画像をスマホに配置する
  3. 2.の画像をランダムに選択するjavascriptを作成する
  4. Taskerに3.とおみくじを印刷する操作を登録する
  5. [アプリで開く]から常時「PRINT ON PAPERANG」で印刷する設定をする
  6. タスクを実行するアイコンを画面上に作成する

1. アプリのインストール

Tasker, PRINT ON PAPERANGをインストールしてください。

2. おみくじ画像の配置

スマホの内部ストレージにおみくじ用の画像を保存してください。
ファイル名の例:001.png~026.png
配置場所の例:

内部ストレージ
└ Tasker
 ├ javascript
 │ └ randomImg.js 
 └ png
  ├ 001.png
  :
  └ 026.png

3. javascript

ソースコード(randomImg.js)はこちら

// ファイル数
var fileCnt = 26;
// ファイル名をランダムに選択
var i = Math.floor(Math.random() * fileCnt);
var num = i + 1;
var ret = ('000' + num).slice(-3);
// 内部ストレージのパス(※機種によって違うので注意!)
var scheme = 'file:///storage/emulated/0/';
// グローバル変数にセット
setGlobal('PNG', scheme + 'Tasker/png/'+ret+'.png');

4. Taskerの設定

  1. 変数を作成
    [変数]タブで、変数を登録する。
    変数名:%PNG

  2. タスクを作成
    [タスク]タブから、タスクを新規登録する。
    タスク名の例:おみくじ

  3. 1番目のアクションを追加 (javascriptを登録)
    2.で作成したタスクにアクションを追加する。
    アクションのカテゴリー…:コード
    コードアクションの選択:JavaScript

  4. 1番目のアクションを編集
    アクションの編集画面で以下の通り設定する。
    javascript登録 パス:Tasker/javascript/randomImg.js
    ※配置場所の例を参照

  5. 2番目のアクションを追加 (インテントを送る)
    アクションのカテゴリー…:システム
    システムアクションの選択:インテントを送る

  6. 2番目のアクションを編集
    アクションの編集画面で以下の通り設定する。
    インテントを送る(2)インテントを送る(1)行動:android.intent.action.VIEW
    カテゴリ:Default
    MIMEタイプ:image/png
    データ:%PNG
    対象:Activity

5. アプリで開く設定

アプリで開く タスク編集画面の左下の▲の [再生ボタン] を押下して、一度タスクを実行します。
実行すると、どのアプリで開くか聞かれるので、PRINT ON PAPERANGの[Print] を選択して [常時] を選択します。

6. アイコン作成

スマホウィジェット追加画面から、[タスクのショートカット] を選択して画面にドラッグして登録します。
※Taskerアプリを [戻るボタン] で終了させておかないと、ショートカット作成時にエラーになります。
詳細はググってみてください。