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