[英]Android Wear app running double
我已經開始了一個非常酷的服裝應用程序的開發,現在它只是一個節拍器,它會隨着用戶選擇的節奏而振動。
我的問題是,當您退出應用程序或屏幕進入“環境模式”時,振動一直在繼續,這非常好,但是當您再次打開應用程序時,它會打開一個新的“實例”(或您這樣說)該應用程序,因此先前選擇的振動速度會保持振動,而當您選擇一個新的振動速度時,基本上會有2個速度振動。
也許這與以下事實有關:我使用新的Thread作為計時,並且Thread一直在運行。 有辦法防止這種情況嗎? 謝謝!
public void buttonTempoOnClick(final View v) {
Running = !Running;
Button button = (Button) v;
Thread Timer = new Thread(new Runnable() {
public void run() {
while (Running == true) {
vibrate(150);
try {
Thread.sleep(60000 / Tempo);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
Timer.start();
(振動是指我在課程中創建的空白,可以使用。)
public void vibrate(int duration){
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(duration);
}
編輯:我已經有一個默認為false的public boolean Running
,當按下“開始”按鈕時,它會切換布爾值並以while(Running == true)循環開始新的威脅。再按一次按鈕就像一種魅力。
嘗試在管理線程的類中設置一個變量,例如
boolean isTempoOn = true;
在您的主要活動中,在onResume()函數中,檢查它是否已在運行。 如果是這樣,請勿再次開始。
也許發布代碼的適用部分會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.