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 小时时间格式来指定时间。示例包括设置警报、提醒等的脚本。与基于时间的触发器不同,基于经过时间的触发器在经过一段时间后执行脚本。闹钟应用程序上的贪睡选项就是基于这个概念。

基于经过时间的触发器