2012-01-03 57 views
1

我想要實現:Android的振動僅15秒

我想震動手機指定分鐘,我正在使用的EditText和乘以分鐘60000轉換爲millseconds,然後通過輸入它作爲參數傳遞給振動(),它應該爲振動指定millseconds,但其唯一的震動,持續15秒..

我已經做了代碼:

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
    final EditText minutess = (EditText) findViewById(R.id.minutes); 
       // to string 
       String min = minutess.getText().toString(); 
       minutess.setVisibility(4); 
       stopButton.setVisibility(1); 
       try{ 
       long mins = Long.parseLong(min); 
       long milis = mins*60000; 
       startButton.setVisibility(4); 
       v.vibrate(milis); 
       } 
     catch (NumberFormatException e) 
      { 
       //something else done here 

      } 

即使以毫秒爲單位的時間傳遞給振動(),振動也只有15秒。 我對java非常陌生,我想知道在上面的代碼中是否有錯誤。

+0

你的問題到底是什麼?你想讓它只振動15秒鐘還是其他什麼? – 2012-01-03 07:56:36

+0

我想振動手機指定的分鐘數,使用EditText獲取輸入並將分鐘乘60000轉換爲毫秒,然後將其作爲參數傳遞給vibrate(),它應該振動指定的毫秒,但其振動只有15秒.. – Vamsi 2012-01-03 07:58:10

+0

我會做一些額外的調試。很有可能另一個應用程序(可能不是你的)正在停止振動。另外,您的應用程序在15秒後關閉了嗎?如果是這樣,它發送的任何振動命令也會停止。 – nmjohn 2012-01-03 07:58:27

回答

5

它不會說in the docs,但15秒可能是振動時間的硬件設置限制。您可能需要在另一臺設備上進行測試,以查看停止前是否更長或更短。

但是,如果所有設備只能振動15秒,您可以將所需時間分成15秒塊,每次重新振動直到它停止。