-
Notifications
You must be signed in to change notification settings - Fork 94
renyuneyun edited this page May 21, 2018
·
13 revisions
本節簡單解釋這些在Easer中使用的術語/辭彙。
- 狀況(Condition)
- 一種長期狀態
- 包含進入和退出事件
- 事件(Event)
- 一個短暫的“事件”(語言意義)
- 行爲(Operation)
- 一個可被執行的操作(可被Easer執行)
- 情境(Scenario)
- “預定義事件”的歷史遺留名稱
- 行爲集(Profile)
- 一組行爲的集合
- 事件腳本(Script)
- 用戶定義的狀態-行爲序列(參考戲劇、電影等之中“腳本”一詞的意義)
- 事件腳本使用樹狀結構來組織
- 事件腳本也指代事件腳本樹中的一個節點
見#86的內容,Easer當前處於轉變過程中。出於兼容的考慮,所有原有事件(Event)均保留。
然而,你應當始終優先選擇狀況(Condition)而非事件(Event);合適的情況下亦可選用狀況(Condition)相應的狀況事件
(ConditionEvent
)。
唯一的例外是你的確需要使用短效的事件,而非長效的狀況時。
由於沒有相應Android API,部分功能使用了一些較爲不可靠的方法(反射)來達成它們——然而在某些設備上可能無法正常工作;啓用root特性一般而言有助於改善該狀況。這裏列出它們:
功能 | 類名 | 非root可用性 | 已適配root特性? |
---|---|---|---|
打開/關閉數據網絡/流量 | CellularOperationPlugin |
或許 | 是 |
打開/關閉熱點(無線AP) | HotspotOperationPlugin |
或許 | 暫未 |
執行命令 | CommandOperationPlugin |
很可能不行(貌似必須有root權限纔能在Android上執行命令) | 是 |
非常歡迎各位報告在各個設備及ROM上的兼容性狀況(無論是可用還是不可用)。
Easer的界面尚需極大改進;程序的一些功能/表現或許和你所想並不一樣。這裏列出它們以避免不便。
- Easer會使用相關的系統權限來檢查事件或改變設置。雖然有動態權限檢查部分,但還是請不要在授予權限後撤銷(不然相應功能無法正常發揮作用)。
- 爲了調整屏幕亮度,Easer需要臨時啓動一個透明的
Activity
。該Activity
僅會存在極短的時間,並且會自己關閉。請留意該行爲,以防影響當前正在進行的工作。使用該方法是因爲沒有“官方”的方法可以從後臺服務中調整屏幕亮度。 - 時間(
TimeEventPlugin
)使用Android系統級的提醒機制(AlarmManager
)。官方文檔說(對於Android 4.4以上設備)該機制產生的提醒並不精確(其目的是最小化喚醒和電池用量)。我觀察到的最大偏移/誤差是3分鐘。 - 日期(
DateEventPlugin
)和其相似,也使用AlarmManager
,所以也可能會不精確(不過這個危害較小,畢竟3分鐘和一整天相比太小了)。 -
早於
和晚於
(這兩個EventType
)均包含所設置的事件(時間日期等)。(不確定改爲“不包含”有沒有意義。) - 多數事件不會重複觸發,即當一個事件已經處於“滿足”狀態,在它變爲“不滿足”前它都不會再次被觸發。也就是說,我們不必擔心創建了“3:00pm以後”這麼個事件後,它不斷重複觸發(重複載入其對應profile)。那些被設爲會重複觸發的事件是由於其本質更符合重複觸發,所以一般而言不用擔心,只要跟着直覺使用即可。
該頁面爲完整列表。