2013-07-04 33 views
0

我正在使用塔斯克应用程序的Android和我无法获得循环工作。我希望有人能够提供一些见解,因为循环是一个相当简单的编程概念。我猜测我只是缺少特定于塔斯克语法的东西。Android塔斯克应用程序循环脚本不循环

我想要做的事:

我想写播放声音,并且在一个循环中振动3次的脚本。我可以让它执行一次,但不会循环。

我已经试过

到目前为止,我已经尝试对,如果这两个回路一些变化,但我似乎无法得到的环部分工作。我想其基本思想是:

  1. 创建一个计数器,并将其设置为0
  2. 打开一个if语句(我也试过它作为一个for循环),条件是在柜台较少比3.
  3. 在循环内,播放声音并执行振动操作。
  4. 将计数器增加1.
  5. 再次转到循环的开始位置。

如何我想它

正如我所说,我已经试过了几个不同的方法,但是这是最近一次尝试:

1. Variable Set 
%Counter, 0 

2. If 
%Counter < 3 

    3. Notify Sound 
    Sound 

    4. Vibrate 
    500 

    5. Variable Add 
    %Counter, 1 

    6. Goto 
    Action Number, 2 

7. End If 

当我在那里放了一个Flash,我可以看到计数器确实增加了,但它忽略了转到的一部分。任何想法或想法,将不胜感激。

更新和解决方案

基于由安东尼·阿特金森的建议下,我加入了等待的声音/振动片运行后,并得到了循环工作。经过一些研究后,似乎我需要在循环结尾附近添加一个Notify Cancel来清除事情。当它这样做时,我可以看到从通知区域移除的图标。

看起来Tasker看到一些已经在运行的东西,并且在它打圈时跳过它。如果有人有更好的解释,我会很高兴听到它。

如果其他人是否有同样的问题,我是,更新的(和工作),脚本如下:

1. Variable Set 
%Counter, 0 

2. If 
%Counter < 3 

    3. Notify Sound 
    Sound 

    4. Vibrate 
    500 

    5. Variable Add 
    %Counter, 1 

    6. Wait 
    0, 3, 0 ,0 

    7. Notify Cancel 

    8. Goto 
    Action Number, 2 

9. End If 

回答

0

我刚刚开始塔斯克,但我已经为Android开发一会儿。大多数情况下,这些动作都是异步的,你可能会在同时上完成这些动作,而没有给第一轮足够的时间完成。换句话说,如果它阻塞了,这个过程可能会起作用,但它可能是异步的。也许尝试在每轮之后加入睡眠时间?说,750毫米或类似的东西,看看会发生什么?

+0

谢谢你的建议。我尝试在柜台增量和Goto之间加入5秒钟的等待时间,这部分有所帮助。它现在循环三次,但只有振动重复。声音只是第一次播放。我会尝试在其他几个地方添加暂停,看看是否有任何问题。 – Kalabakk

+0

通知声音有多长? –

+0

它不到一秒钟,所以它不会超过5秒暂停。我在其他几个地方添加了停顿,但它仍然只播放一次。 – Kalabakk