
【基本介紹】
tasker是一款非常實(shí)用的安卓手機(jī)系統(tǒng)工具,這款軟件可以根據(jù)用戶的需求定制配置文件的執(zhí)行任務(wù),具有強(qiáng)大的功能,是安卓手機(jī)用戶的必備神器。
【官方介紹】
Tasker (超級(jí)任務(wù)) 是一款讓系統(tǒng)根據(jù)使用者定制的“設(shè)定檔” (Profiles),在特定的“背景” 下(Contexts),執(zhí)行指定“任務(wù)” (Tasks) 的軟件,除此之外,這款A(yù)ndroid 軟體還提供“可供點(diǎn)擊” 的(Clickable) 或“定時(shí)執(zhí)行” (Timer) 的桌面“***程式” (Widget)。在 Android 平臺(tái)上的Tasker 絕對(duì)稱得上是 Android 系統(tǒng)的神器之一,與 Auto Memory Manager 不同,Tasker 不是加速型的軟件,而是系統(tǒng)增強(qiáng)型的軟件,由於有眾多系統(tǒng)狀態(tài)可控制,故使得 Tasker 一躍成為 Android 系統(tǒng)中最閃亮的明星。
【功能介紹】
1.觸發(fā)器:程式、時(shí)間、日期、位置、硬體 / 軟體狀態(tài)、事件、捷徑方式、小工具、計(jì)時(shí)器2.操作:超過(guò)175 個(gè)內(nèi)建操作,以及各種可兼容的設(shè)定小工具
3.任務(wù):循環(huán)、變量、條件
4.全面的自動(dòng)化,從設(shè)置到短信。ADC2獲獎(jiǎng)程序!

【特色介紹】
Tasker 的作用范圍非常非常廣泛,可以做的事情簡(jiǎn)直多到你無(wú)法想象!從日常生活到專業(yè)的工作輔助,只要是手機(jī)能做的事情,它基本都能用各種方法實(shí)現(xiàn)“自動(dòng)化”,你需要的只是腦洞跟一點(diǎn)點(diǎn)折騰精神。在 Tasker 里面,它的「自動(dòng)化任務(wù)」主要是由兩部分組成,一個(gè)是觸發(fā)條件,一個(gè)是執(zhí)行任務(wù),你只要配置好這兩個(gè)東西就能做出一套自動(dòng)化任務(wù)流程了。它就像是一個(gè)安卓本地版的 IFTTT,核心思想同樣也是「如果怎樣,那么就執(zhí)行什么」。
其實(shí)很難用三言兩語(yǔ)去說(shuō)明 Tasker 有多么的強(qiáng)大和多么的靈活,因?yàn)?Tasker 的觸發(fā)條件和可執(zhí)行的動(dòng)作非常全面,可以組合出很多用法,基本全靠需求與想象力。
我就舉個(gè)例子來(lái)示范,例如我最近開車都用「Google 地圖導(dǎo)航」,但是我平常手機(jī)喜歡開靜音(不要有任何干擾,也不要不小心干擾別人),所以我很需要一個(gè)自動(dòng)化流程:「每次我打開 Google 地圖時(shí)打開媒體音量,讓導(dǎo)航有聲音。但是我跳出 Google 地圖時(shí)就關(guān)靜音,避免干擾。」
這時(shí)候就可以利用「Tasker」解決上述需求,只要三個(gè)步驟!
在「Tasker」中建立好上述條件與動(dòng)作,實(shí)際執(zhí)行的效果如下。
當(dāng)我在手機(jī)上打開 Google 地圖,媒體音量自動(dòng)調(diào)整到 11,讓我可以聽到導(dǎo)航語(yǔ)音。當(dāng)我跳出 Google 地圖,媒體音量自動(dòng)回到原本的靜音狀態(tài)。
這樣就完成自動(dòng)化流程,我就不用再自己動(dòng)手調(diào)整了。

【專業(yè)術(shù)語(yǔ)】
* “配置文件”(Profiles):- “配置文件”(Profiles)是Tasker里的核心
- 配置文件由”背景”(Contexts)和與其對(duì)應(yīng)的”任務(wù)”(Tasks)組成
- 當(dāng)”背景”(Contexts)的條件全都符合時(shí),則自動(dòng)執(zhí)行對(duì)應(yīng)的”任務(wù)”(Tasks)
* “背景”(Contexts):
- “背景”(Contexts)是”任務(wù)”(Tasks)執(zhí)行的前提,只有但”背景”(Contexts)滿足時(shí),對(duì)應(yīng)的”任務(wù)”(Tasks)才會(huì)執(zhí)行
* “任務(wù)”(Tasks)
- “任務(wù)”(Tasks)由”操作”(Actions)構(gòu)成,”操作”(Actions)是Tasker里的最小動(dòng)作,一個(gè)或多個(gè)”操作”(Actions)構(gòu)成了一個(gè)”任務(wù)”(Tasks)
* “操作”(Actions)
- “操作”(Actions)是Tasker里的最小動(dòng)作,一個(gè)或多個(gè)”操作”(Actions)構(gòu)成了一個(gè)”任務(wù)”(Tasks)
* “插件”(Widget)
- Tasker提供了桌面插件,以便直接調(diào)用指定”任務(wù)”(Tasker)而無(wú)需滿足特定的”背景”(Contexts)

【基本教程】
步驟一:配置,設(shè)定你的情境條件首先一進(jìn)入「Tasker」,會(huì)看到有一個(gè)「配置文件」的頁(yè)面,這里其實(shí)就是讓你「建立(要觸發(fā)自動(dòng)反應(yīng)的)情境條件」。可以設(shè)定手機(jī)感應(yīng)器、特殊時(shí)間點(diǎn)、插上特殊裝置、電池狀態(tài)等等各種條件。

例如以我前面所舉的例子為例,我的條件就是:「當(dāng) Google 地圖啟動(dòng)時(shí)」要觸發(fā)某些行為。這時(shí)候我就點(diǎn)右下角的「+」,選擇「應(yīng)用程式」,選擇「Google 地圖」。
這樣就在「配置文件」中加入了我要的「情境條件」,也就是「啟動(dòng) Google 地圖時(shí)」。

步驟二:任務(wù),設(shè)定要觸發(fā)的動(dòng)作
接著,我可以在第二個(gè)頁(yè)面「任務(wù)」,加入我想觸發(fā)的各種動(dòng)作?!窽asker」之所以被認(rèn)為很強(qiáng)大,就是因?yàn)樗鼛缀蹩梢杂|發(fā)手機(jī)上所有的裝置功能,從音量、網(wǎng)絡(luò)到各種設(shè)定。
回到我前面的例子,我想要觸發(fā)的動(dòng)作是「開啟媒體音量」,于是我就在「任務(wù)」頁(yè)面右下角點(diǎn)擊「+」,加入「把媒體音量調(diào)整到 11」的動(dòng)作。

步驟三:把配置與任務(wù)連結(jié)在一起
有了「情境條件」,也有了「要觸發(fā)的動(dòng)作」,接著就把兩個(gè)連在一起即可。
讓「啟動(dòng)地圖」這個(gè)配置,去連結(jié)剛剛建立的「開啟媒體音量」任務(wù)。下圖中則是我另外一個(gè)使用例子,當(dāng)我開啟 TED 影片 app 時(shí),也自動(dòng)觸發(fā)開啟媒體音量功能。

在「Tasker」中建立好上述條件與動(dòng)作,實(shí)際執(zhí)行的效果如下。
當(dāng)我在手機(jī)上打開 Google 地圖,媒體音量自動(dòng)調(diào)整到 11,讓我可以聽到導(dǎo)航語(yǔ)音。當(dāng)我跳出 Google 地圖,媒體音量自動(dòng)回到原本的靜音狀態(tài)。
這樣就完成自動(dòng)化流程,我就不用再自己動(dòng)手調(diào)整了。

最后,為了讓「Tasker」可以觸發(fā)自動(dòng)反應(yīng),你可能必須允許「Tasker」在后臺(tái)運(yùn)行,這樣每次的條件觸發(fā)才會(huì)順利啟動(dòng)。
【進(jìn)階技巧】
tasker設(shè)置打開導(dǎo)航開啟gps的方法首先,我們?cè)谖覀兊氖謾C(jī)中下載tasker,確保tasker的程序可以在我們的手機(jī)中運(yùn)行,之后就可以進(jìn)行編輯。

在tasker的設(shè)置中,我們將需要的tasker權(quán)限都開啟,這樣tasker才能夠訪問(wèn)和開啟我們手機(jī)中的程序和功能。

進(jìn)入到tasker中的一個(gè)新配置文件,命名后,將應(yīng)用的程序進(jìn)行設(shè)置,將帶有導(dǎo)航功能的應(yīng)用程序都設(shè)置到此配置文件中。

使用命令語(yǔ)言Secure Settings,配置當(dāng)對(duì)應(yīng)應(yīng)用程序開啟的時(shí)候,【配置GPS Enable 超時(shí):0】if【%GPS-on】,配置兩個(gè)設(shè)置。

配置兩個(gè)設(shè)置,分別對(duì)應(yīng)應(yīng)用程序開啟和關(guān)閉的時(shí)候,GPS會(huì)進(jìn)行對(duì)應(yīng)的開啟和關(guān)閉,之后就可以進(jìn)行保存。

完成后,我們就可以將配置文件保存并應(yīng)用,之后就可以開啟手機(jī)中的導(dǎo)航程序,配置文件就會(huì)自動(dòng)幫助我們開啟GPS功能。

二、開啟智能場(chǎng)景過(guò)濾觸發(fā)教程
第一步:新建「屏幕鎖-關(guān)閉」任務(wù)
點(diǎn)擊「任務(wù)」頁(yè)面右下角「+」,新建名為「屏幕鎖-關(guān)閉」的任務(wù);
點(diǎn)擊下方「+」,依次選擇「顯示」→「鍵盤鎖」;
「鍵盤鎖」默認(rèn)為關(guān)閉,這里我們無(wú)需修改。


第二步:指定「Wi-Fi 已連接」觸發(fā)條件
回到「配置文件」頁(yè)面,點(diǎn)擊右下方「+」,依次選擇「State」→「網(wǎng)絡(luò)」→「Wi-Fi 已連接」;
在 Wi-Fi 已開啟狀態(tài)下,點(diǎn)擊「SSID」右方的「搜索」符號(hào),選擇相應(yīng)的 Wi-Fi 網(wǎng)絡(luò)即可;
若選擇多個(gè) Wi-Fi 網(wǎng)絡(luò),需多次點(diǎn)擊「搜索」符號(hào),多次添加;
指定「藍(lán)牙已連接」條件方法同上。


第三步:關(guān)聯(lián)條件與任務(wù)
Wi-Fi 網(wǎng)絡(luò)名稱添加完畢后,按返回鍵會(huì)自動(dòng)彈出可關(guān)聯(lián)任務(wù)列表,此時(shí)選擇第一步建立的「屏幕鎖-關(guān)閉」即可。


【常見問(wèn)題】
1、如何獲取Perform Task的返回值?如果要獲取子Task(被調(diào)用的Task)的返回值,必須確保父Task(調(diào)用的Task)優(yōu)先級(jí)比子Task的優(yōu)先級(jí)低(根據(jù)我的使用經(jīng)驗(yàn)需要將子Task的優(yōu)先級(jí)設(shè)為10才可以)。
由于Tasker在同一時(shí)間只允許一個(gè)Task運(yùn)行,當(dāng)父Task調(diào)用子Task時(shí),高優(yōu)先級(jí)的子Task將中斷父Task,在子Task運(yùn)行結(jié)束后父Task獲得返回值并繼續(xù)運(yùn)行。
2、為什么調(diào)用Shell后Tasker會(huì)卡死?
測(cè)試發(fā)現(xiàn)Tasker對(duì)Shell的支持并不是很好。如果在后臺(tái)調(diào)用shell(即通過(guò)事件調(diào)用或在javascript里調(diào)用),將導(dǎo)致shell執(zhí)行不返回結(jié)果,此時(shí)Tasker將一直等待(即使設(shè)置了Shell超時(shí)也沒(méi)用)。由于任務(wù)默認(rèn)優(yōu)先級(jí)相等,而Tasker只能同時(shí)運(yùn)行一個(gè)任務(wù),后面等待運(yùn)行的任務(wù)將任務(wù)隊(duì)列填滿,此時(shí)新的任務(wù)不會(huì)執(zhí)行,也不能進(jìn)隊(duì)列等待,Tasker將彈出警告信息。
卡死后的解決辦法就是重啟Tasker,先禁用再啟用即可。
建議盡量不要使用Shell,如果一定要,則必須在前臺(tái)調(diào)用,比如通過(guò)點(diǎn)擊一個(gè)按鈕來(lái)調(diào)用。
3、如何判斷參數(shù)是否聲明?
Tasker有個(gè)判斷參數(shù)是否聲明的條件isset。
不要試圖在javascript里使用類似 if(typeof mypar == 'undefined')這樣的方法來(lái)判斷,Tasker不會(huì)提示錯(cuò)誤,但每次執(zhí)行到這些語(yǔ)句的時(shí)候會(huì)自動(dòng)退出。
4、執(zhí)行Javascript時(shí),數(shù)組已經(jīng)聲明,為什么提示沒(méi)有聲明?
Tasker里面的javascript數(shù)組必須在函數(shù)外面聲明,在函數(shù)內(nèi)部聲明會(huì)出錯(cuò)。
5、為什么獲取不到%CELLID的值?
在Tasker里面獲取%CELLID的值為變量名%CELLID,而不是具體的值。
Tasker或根據(jù)用戶聲明的變量來(lái)自動(dòng)決定要不要更新這個(gè)變量的值。如果在Profile中沒(méi)有提到%CELLID這個(gè)變量(即使在Task里面提到了),那么Tasker會(huì)認(rèn)為這個(gè)變量沒(méi)被使用,它并不會(huì)去更新這個(gè)變量的值,這也是Tasker的省電機(jī)制之一。
因此,如果要讓Tasker自動(dòng)更新某個(gè)變量的話,你需要在Profile提及它(在javascript里提及是無(wú)效的),最簡(jiǎn)單的就是建個(gè)task,每次開機(jī)的時(shí)候講這個(gè)值賦給一個(gè)變量,然后什么都不做就可以了。
6、如何判斷Mobile Data是否已經(jīng)連接?
Tasker暫時(shí)沒(méi)有辦法判斷移動(dòng)數(shù)據(jù)是否已經(jīng)連接。
7、如何判斷是否有活動(dòng)的WIFI連接?
這里的活動(dòng)連接是指WIFI已經(jīng)連接上并且能進(jìn)行數(shù)據(jù)收發(fā)。
Tasker有一個(gè)WIFI信息變量%WIFII,它的值有下面幾種情況:
%WIFII: WIFI沒(méi)有打開
>>> SCAN <<< "可供連接的網(wǎng)絡(luò)列表": WIFI已經(jīng)打開,附近有可供連接的熱點(diǎn),但是沒(méi)有 活動(dòng)連接。
>>> CONNECTTED <<< "IP, Mac參數(shù)等": WIFI已經(jīng)連接
在判斷時(shí),可以使用正則表達(dá)式判斷%WIFII的值來(lái)判斷WIFI的連接狀態(tài)。
8、為什么條件為晃動(dòng)的Profile設(shè)置后無(wú)效?
Shake設(shè)置后必須調(diào)整參數(shù),默認(rèn)參數(shù)的似乎不能工作,建議設(shè)置:Sensitivity High,Duration Medium。
9、如果Profile的State條件不變,對(duì)應(yīng)的Task會(huì)循環(huán)執(zhí)行嗎(即Tasker每輪詢一次執(zhí)行一次)?
不會(huì),所有的Task在State滿足后執(zhí)行一次,只要State不變,就不會(huì)重復(fù)執(zhí)行;只有當(dāng)State狀態(tài)不滿足任務(wù)退出,下次再進(jìn)入這個(gè)狀態(tài)時(shí)才會(huì)再次執(zhí)行。
比如有一個(gè)Profile似乎手機(jī)面朝下靜音,如果手機(jī)面一直朝下,那么即使你調(diào)成普通模式,下次輪詢時(shí)也不會(huì)再次執(zhí)行設(shè)置靜音這個(gè)任務(wù);只有在退出這個(gè)狀態(tài),比如手機(jī)朝上,然后再朝下就會(huì)再次執(zhí)行。
10、怎么限制一個(gè)Profile的執(zhí)行頻率?
長(zhǎng)按Profile name,在彈出菜單里設(shè)置CountDown Time即可。

【更新日志】
添加:帶文本框的彈出窗口:添加復(fù)制和粘貼按鈕,以緩解Android不支持通過(guò)點(diǎn)擊(不是初學(xué)者模式)添加:Prefs / UI /主題:重音顏色選擇器
bugfix:自適應(yīng)啟動(dòng)器圖標(biāo)未顯示(Android 8.0+)
bugfix:action設(shè)置鬧鐘:鈴聲未正確設(shè)置
錯(cuò)誤修復(fù):任務(wù)計(jì)時(shí)器小部件:配置屏幕,點(diǎn)擊對(duì)話框中的任何地方關(guān)閉它
bugfix:加載數(shù)據(jù)時(shí)內(nèi)存不足:重新啟動(dòng)整個(gè)Tasker進(jìn)程,而不是從沒(méi)有啟動(dòng)配置
bugfix:action JavaScriptlet:操作編輯屏幕:測(cè)試按鈕不包括指定的庫(kù)
錯(cuò)誤修復(fù):嘗試修復(fù)dev控制臺(tái)異常報(bào)告
更改:帶文本框的彈出窗口:提示文本僅在初學(xué)者模式下顯示
更改:log Tasker在某些關(guān)鍵點(diǎn)的內(nèi)存使用情況。


































