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 小时时间格式来指定时间。示例包括设置闹钟、提醒等的脚本。与基于时间的触发器相比,基于已用时间的触发器会在经过一定时间后执行脚本。闹钟应用程序上的暂停选项基于此概念。

基于已用时间的触发器