2013-07-04 34 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