我已经按照文档,视频和演示示例进行了操作,并尝试在LiveCode中的自己的堆栈中进行复制。
我在mergBgTaskStart
之后运行的命令会在60秒后发送给自己,并且一旦应用程序在后台运行,就会成功运行2-4次。
然而,我无法在这几次之后继续这样做。我需要命令无限期地运行,直到注销或直到应用程序关闭。
请更好地解释为mergBgTaskExpired
消息,以及如何重新启动我的命令,以避免让我的应用程序暂停。
目前它的设置如下:
在主堆栈中:
on bgupdate
mergBgTaskStart
get_location
end bgupdate
on mergBgTaskExpired pBackgroundTaskIdentifier
-- Here I have tried inserting bgupdate and/or get_location to reinitiate it without success
mergBgTaskStop pBackgroundTaskIdentifier
end mergBgTaskExpired
命令get_location
包含“在60秒内向我发送get_location”,并通过第一张卡上的按钮调用。
答案 0 :(得分:0)
后台任务背后的想法是在应用程序处于前台时完成您的启动。您无法在后台开始新任务。
如果您需要避免暂停应用程序,则应使用其中一个UIBackgroundModes作为plist设置。有关详细信息,请参阅here。