[Android] 用 Automate 設定工作流程,自動觸發事件、執行動作

[Android] 用 Automate 設定工作流程,自動觸發事件、執行動作

很久以前有介紹過 Llama – Location Profiles 這個蠻好用的 Android app,

它可以根據地點、時間、以及許多觸發條件,來決定要做的動作,

它也一直在我的愛用 app 列表裡面~

 

前一陣子因為手機莫名其妙被重置回原廠設定了,在裝回 Llama – Location Profiles 之後,

在 Google Play 上看到了 Automate 這個名字很吸引我的 app,作者是 LlamaLab

嗯… 我以為是 Llama – Location Profiles 的同間公司出的姐妹品,

就裝來玩玩看,發現蠻有趣的,不過後來也發現作者其實是不一樣的啦,

不知道為啥剛好都是取跟 Llama (駱馬) 有關的名字… 

 

以我的觀點來看,Automate 可以說是 Llama – Location Profiles 的進階版 (雖然兩者沒有關聯),

Llama – Location Profiles 可以很容易的選擇事件的觸發條件、與對應的動作,

但 Automate 則是可以用程式設計的方式來編排需要的邏輯,

比較有彈性,可以做到的判斷與動作更多,但當然使用起來也就更為複雜~

因此會建議一般可以用 Llama – Location Profiles 做到的,就用它來做,

不行的再考慮用 Automate 來完成~

 

舉個例子來看一下 Automate 到底是怎麼用的吧~

因為手機開 GPS 的話很耗電,我希望在晚上 11 點的時候,自動關閉 GPS,

但因為我的手機沒有 root,所以這件事情是做不到的…

退而求其次,我想要在晚上 11 點時,檢查一下現在 GPS 是不是開著的,

如果是的話,跳出 Location 的設定頁,好讓我可以手動關閉;

如果不是的話,就不用跳設定頁出來煩我了~

上面的這個需求用 Llama – Location Profiles 做不到,

因為它沒辦法判斷現在是不是使用 GPS…

 

1. 在 Automate 中新增一個工作流程 (Flow)

進到 Automate app 後,按下上方的 + 圖示,開始建立一個新的工作流程:

Screenshot_20160909-224124.png

 

接著會出現下面的畫面…

嗯… 對於沒碰過這 app 的人,老實說入門門檻稍高,

一時不曉得接下來要做什麼…

Screenshot_20160909-224130.png

 

其實這個畫面就是要設計你的工作流程圖 (flow diagram),

有學過程式設計的人應該都很熟悉流程圖,這個 app 基本上就是讓你畫出流程圖後,

讓 Automate 照著流程圖的設計,來判斷條件與執行動作~

 

按下左上方的三橫槓 (設定) 圖示,會跳出一個選單,

讓我們可以選擇要使用的功能區塊,這邊已經分類好了,

建議一開始可以把每個分類都打開來瀏覽一下,看看有哪些東西可以用:

Screenshot_20160909-224310.png

 

我們第一個要做的是「等到晚上 11 點」,因此選擇 Date & Time 的 Time await 功能:

Screenshot_20160909-224325.png

 

選好的功能區塊會顯示在流程圖上面,但這時還沒有跟其他的區塊連結在一起:

Screenshot_20160909-224341.png

 

點下剛建立的 Time await 區塊,可以設定一些屬性值,

像我們將 Time of Day 設定在 11:00 PM,

這樣這個區塊就會等到晚上 11 點,才會繼續往下執行:

Screenshot_20160909-224457.png

 

設定好屬性值之後,按下 Done 會回到流程圖頁面。

按下 Flow beginning 的 OK 節點,往下拖拉到 Time await 的 IN 節點,

就可以拉出一條線來,這表示當 Flow beginning 區塊執行完畢時 (OK),

會接著去執行 Time await 區塊 (IN 是區塊的輸入點):

Screenshot_20160909-224517.png

 

晚上 11 點到了之後,我們想看看現在的 GPS 有沒有開?

因此我們新增 Location > Location provider enabled? 區塊:

Screenshot_20160909-224748.png

 

屬性值這邊,將 Proceed 設定成 Immediately,表示跑到這區塊時立刻執行檢查,

否則另外一種模式是當設定值有改變時才會觸發…

Location Provider 這邊可以選 GPS 或 Wifi,

因為我們想知道現在是不是 GPS 開著,因此當然選 GPS 囉:

Screenshot_20160909-224829.png

 

將 Time await 區塊的 OK 接線到 Location provider enabled? 區塊的 IN 節點~

我們可以注意到,這個區塊有兩個輸出 Yes 和 No,

分別表示條件成立 (使用 GPS) 時、與條件不成立 (沒有使用 GPS) 時,要執行的動作:

Screenshot_20160909-224902.png

 

如果 GPS 有開的話,想要直接顯示 Location 的設定頁面,

因此我們選擇 Apps > App start shortcut,因為系統的設定頁面都會在這裡面:

Screenshot_20160909-225004.png

 

在屬性頁裡,按下 Pick shortcut:

Screenshot_20160909-225029.png

 

這邊有非常多的 app 捷徑可以選,我們先選到 Settings:

Screenshot_20160909-225040.png

 

Settings 下面還有更細的捷徑,我們選擇 Location:

Screenshot_20160909-225052.png

 

接著要做的是決定 Location provider enabled? 區塊的輸出要往哪邊走…

GPS 沒開 (No) 的時候,就直接去等明天晚上的 11 點。

GPS 有開 (Yes) 的時候,就去開啟設定頁 (Start app shortcut),

而設定頁開啟之後,也就去等明天晚上的 11 點再次檢查了:

Screenshot_20160909-225319.png

 

流程圖的部分設定好了,按下上方的勾勾完成~

接著點上面的 <Untitled> 來改一下這個流程圖的名稱:

Screenshot_20160909-225343.png

 

改成一個好記的名字 “Disable GPS at night”:

Screenshot_20160909-225422.png

 

至此,我們的第一個流程圖已經設計完成囉 (好累啊~)

 

2. 立刻測試新建立的工作流程

要測試我們寫好的工作流程,就得讓「晚上 11 點」這個條件滿足,

因此有幾種測試方式:

  – 就真的等到晚上 11 點再來測 (你肯定不是程式設計師,RD 是沒有耐性的)

  – 把系統時間改到晚上 11 點 (有點像樣了,不過亂改系統時間,

可能會讓一些行事曆提醒都亂掉,還是別這麼做吧)

  – 改一下流程,把「晚上 11 點」改成「1 分鐘後」 (不錯的選擇,

你已經是個 RD / 你已經有成為 RD 的頭腦了)

  – 改一下流程,讓它直接跳過「晚上 11 點」這個條件 (另一個不錯的選擇,

你已經有駭客的頭腦了)

 

我們就來用駭客的頭腦試試看吧~

按下 Flow beginning 的節點,往 Time await 區塊的 IN 節點拖拉,

就會將這兩個節點間的線刪除 (不是非常好控制,要練習一下):

Screenshot_20160909-225541.png

 

接著我們將 Flow beginning 直接連到 Location provider enabled? 區塊,

也就是直接跳過了 Time await 的條件判斷:

Screenshot_20160909-225556.png

 

改好之後,就可以開始測試了~

按下 Start 就會開始執行這個工作流程,下面可以看到記錄檔 (Log)~

因為我現在 GPS 並沒有開,因此它檢查完之後,就回到 Time await 區塊等明天的 11 點了:

Screenshot_20160909-225621.png

 

假設我將 GPS 打開 (將 Location Mode 設成 High accuracy):

Screenshot_20160909-225659.png

 

先 Stop 之後,再 Start 執行一次這個工作流程,

唰!Location 的設定頁跳出來了~

回到 Automate 畫面看一下 Log,也提到了它有執行 App start shortcut 這個動作:

Screenshot_20160909-225729.png

 

做完測試後,記得要將修改的地方還原,之後才會正常運作~

 

這篇文章介紹了 Automate 的用法,是個蠻強大的 app,

尤其是如果手機有 root 的話,它可以做非常多的控制 (像是直接把 GPS 關閉),

但在沒有 root 的手機上,也還是可以做到蠻多事情的,很適合像我一樣的懶人使用囉~ ^^

 

(本頁面已被瀏覽過 411 次)

4 thoughts on “[Android] 用 Automate 設定工作流程,自動觸發事件、執行動作

  1. 您好,請教您,我因工作需要我想要讓speedtest這支測試網速軟體一直不停的執行網路速度測試,請問能用automate來做嗎?該怎麼做,感激不盡,謝謝.

  2. 感謝Ephrain 的分享,太實用了。
    另外請教您,要如何設定自動輸入帳號密碼並且按下確定呢?
    謝謝

發表迴響

你的電子郵件位址並不會被公開。