frepが勝手に終了する場合の対処方法(Tasker連携)

最近、再生が終了していないのにfrepが停止(強制停止?)する現象がたびたび発生するようになりました。

端末を再起動すれば解決するのですがfrepにそこまで組み込むことはできません。これは自動化してるアプリ側の問題なのか、frepの問題なのかはわかりません。
しかし止まってしまっては困るとです。

そんなある日、frepのアップデート内容にこのような記述を発見。

– Tasker 4.3以降でFRepの再生終了を検知するEvent Pluginを追加(要アンロックキー)

ほう。これはまさしく望みをかなえることができるのではないか?

そこでさっそくやってみた。

Taskerのイベント⇒プラグイン⇒frep⇒停止を検知したい記録を選択

このイベントが発生した場合のタスクを設定して、試してみました。

ブラボー!

ずばり停止時に指定したタスクを実行してくれました。

完全自動化を目指して

自動化対象アプリはウインドランナーです。

前提としてfrepで以下の記録を作成しておきます。

[frep]全自動プログラム

  • ウインドランナーを起動
  • 靴受け取り
  • 靴送信
  • 自走(定時ごとに靴の再受取)

[Tasker]タスク1 1時間1分毎に端末再起動

frepの実行が止まった場合再起動されるので無駄を省くため再起動するようにします。

  • TaskerをTimeでPROFILE作成
  • タスクで「System→DeviceBoot」を選択

 

[Tasker]タスク2 全自動プログラムが終了時、端末を再起動

終了検知イベントのタスクを登録します。

  • Taskerを開き「Event→Plugin→FRep→全自動プログラム」を選択
  • ActionEditで「System→Reboot(type=Normal)」を設定

[Tasker]タスク3 端末起動時に全自動プログラムを実行

Screenshot_2015-07-18-02-31-22

  • ポップアップ画面表示
  • アプリ停止(frep)
  • アプリ停止(ウインドランナー)
  • アプリ起動(frep)
  • 待機(3秒)
  • ホーム画面へ戻る
  • ポップアップ画面表示(デバッグ用)
  • プラグイン実行(frepの全自動プログラムを実行)

先頭でポップアップを表示する理由は画面がスリープモードになっている場合にスリープモードを解除させるため。

一連の流れの説明

端末を起動すると全自動処理を開始します。

勝手に停止しだすとまともに動かなくなるので停止を検知したら端末を再起動します(タスク2)

タスク2で再起動するだけでもいいですが、タスク1の定時実行のタイミングまで起動されないのは最大で1時間近くロスができるので再起動後すぐに全自動を実行する(タスク3)

という流れです。

無事動作するのを確認できました。

一つ問題点があるとすれば、意図して再生中のfrepを停止させると強制的に再起動になること、また再起動後速攻でタスク2を止めないといけないことですな。

 

 

 

 

 

 

コメント一覧

  1. スワイプ操作をさせつつ画像認識は可能でしょうか?
    ただ条件があり、画像認識成功したらスワイプ操作を割り込み中止させて次の操作にして
    画像認識失敗でスワイプ操作はそのまま、画像認識は待機して一定期間後、また画像認識をさせるという動きです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です