Skip to content
renyuneyun edited this page Nov 10, 2017 · 13 revisions

不可靠功能

由於沒有相應Android API,部分功能使用了一些較爲不可靠的方法(反射)來達成它們——然而在某些設備上可能無法正常工作;啓用root特性一般而言有助於改善該狀況。這裏列出它們:

功能 類名 非root可用性 已適配root特性?
打開/關閉數據網絡/流量 CellularOperationPlugin 或許
打開/關閉熱點(無線AP) HotspotOperationPlugin 或許 暫未
執行命令 CommandOperationPlugin 很可能不行(貌似必須有root權限纔能在Android上執行命令)

非常歡迎各位報告在各個設備及ROM上的兼容性狀況(無論是可用還是不可用)。

功能解釋

Easer的界面尚需極大改進;程序的一些功能/表現或許和你所想並不一樣。這裏列出它們以避免不便。

  • Easer會使用相關的系統權限來檢查事件或改變設置。然而當前還沒寫動態權限檢查部分,所以請在使用有關事件和/或設置前授予相應權限。
  • 時間(TimeEventPlugin)使用Android系統級的提醒機制(AlarmManager)。官方文檔說(對於Android 4.4以上設備)該機制產生的提醒並不精確(其目的是最小化喚醒和電池用量)。我觀察到的最大偏移/誤差是3分鐘。
  • 日期(DateEventPlugin)和其相似,也使用AlarmManager,所以也可能會不精確(不過這個危害較小,畢竟3分鐘和一整天相比太小了)。
  • 早於晚於(這兩個EventType)均包含所設置的事件(時間日期等)。(不確定改爲“不包含”有沒有意義。)
  • 事件不會重複觸發,即當一個事件已經處於“滿足”狀態,在它變爲“不滿足”前它都不會再次被觸發。也就是說,我們不必擔心創建了“3:00pm以後”這麼個事件後,它不斷重複觸發(重複載入其對應profile)。

權限

權限 用途 用於
ACCESS_COARSE_LOCATION 獲取基站ID CellLocationEventPlugin
ACCESS_NETWORK_STATE ACCESS_WIFI_STATE的前置要求 (不確定) WifiEventPlugin
ACCESS_WIFI_STATE 獲取WiFi狀態 WifiEventPlugin
BLUETOOTH 獲取藍牙狀態 BTDeviceEventPlugin
BLUETOOTH_ADMIN 打開/關閉藍牙 BluetoothOperationPlugin
CHANGE_NETWORK_STATE CHANGE_WIFI_STATE的前置要求 (不確定) WifiOperationPlugin
CHANGE_WIFI_STATE 打開/關閉WiFi WifiOperationPlugin
MODIFY_AUDIO_SETTINGS 修改響鈴模式 RingerModeOperationPlugin
READ_CALENDAR 讀取日曆內容 CalendarEventPlugin
RECEIVE_BOOT_COMPLETED 監聽系統啓動完成並且(根據設置)自動啓動Easer BootupReceiver
WRITE_EXTERNAL_STORAGE 導入/導出數據 && 保存日誌 系統設置中的導出功能 && 全局的Logger日誌
WRITE_SETTINGS 修改系統設置(如亮度) BrightnessOperationPlugin RotationOperationPlugin
Clone this wiki locally