SL4A - Python後臺指令碼



服務是一個元件,它在後臺執行,無需與使用者直接互動。它沒有任何UI(使用者介面)。即使應用程式被銷燬,服務也會無限期地在後臺執行。

本章描述了編寫在後臺執行特定任務的指令碼。

後臺任務

SL4A 允許指令碼在終端或後臺執行。要在後臺啟動指令碼,請選擇看起來像齒輪的圖示。指令碼將在後臺無限期執行。但是,可以選擇顯式關閉此類服務。

啟動時執行指令碼

這些指令碼在裝置啟動時啟動。“啟動時執行”首選項螢幕是一個應用程式,允許您指定裝置的啟動首選項。該實用程式支援透過主指令碼執行多個指令碼。主指令碼啟動其他指令碼。

觸發器

觸發器定義了一組必須響應動作/事件而執行的動作。可以新增和刪除觸發器。/sdcard/sl4a/scripts 目錄允許您選擇在觸發事件時執行的指令碼。可能觸發指令碼的選項列表包括電池、位置、電話、感測器和訊號強度。

基於方向的動作

SL4A 允許我們根據裝置的方向和移動來執行指令碼。startSensingTimedAPI 用於確定裝置的方向和移動。

以下程式碼片段使用 TTS 功能在手機正面朝下放置時通知使用者:

import android,time 
droid = android.Android() 
droid.startSensing() 

while True: 
   res = droid.sensorsGetLight().result 
	
   if res is not None and res <=10: 
      droid.ttsSpeak("Device faced down!!") 
   time.sleep(5)

基於位置的動作

圖書館、教堂是您經常訪問的地方,您肯定希望在到達那裡時靜音您的手機。SL4A 允許您構建將跟蹤您的位置並採取特定操作的指令碼。

基於時間/經過時間的觸發器

這些觸發器用於在一天中的特定時間執行操作。應使用 24 小時制來指定時間。示例包括設定鬧鐘、提醒等指令碼。與基於時間的觸發器相反,基於經過時間的觸發器在經過一定時間後執行指令碼。鬧鐘應用程式上的 snooze 選項基於此概念。

Elapsed-Time-based Triggers
廣告
© . All rights reserved.