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
广告