服务是一个组件,它在后台运行,无需与用户直接交互.它没有任何UI(用户界面).即使应用程序被销毁,该服务也会无限期地在后台运行.
本章描述了在后台执行特定任务的编写脚本.
背景任务
SL4A使脚本能够在终端或后台运行.要在后台启动脚本,请选择看起来像齿轮的图标.该脚本无限地在后台运行.但是,可以选择明确关闭此类服务.
启动引导脚本
只要设备引导,就会启动这些脚本. Boot on Boot首选项屏幕是一个允许您指定设备启动首选项的应用程序.该实用程序支持通过主脚本执行多个脚本.主脚本启动其他脚本.
触发器
触发器定义了一组必须执行以响应操作/事件的操作.可以添加和删除触发器./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小时时间格式来指定时间.示例包括用于设置警报,提醒等的脚本.与基于时间的触发器相比,基于时间的经过触发器在经过的时间之后执行脚本.警报应用程序上的贪睡选项基于此概念.