[英]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.