gpt4 book ai didi

java - Android Wear 应用程序双运行

转载 作者:行者123 更新时间:2023-12-01 10:27:13 25 4
gpt4 key购买 nike

我已经开始制作一个非常酷的穿戴应用程序,目前它只是一个节拍器,会根据用户选择的节奏振动。

我的问题是,当您退出应用程序或屏幕进入“环境模式”时,振动会继续进行,这很好,但是当您再次打开应用程序时,它会打开一个新的“实例”(或者您所说的)应用程序的那个),因此之前选择的振动速度会持续振动,当您选择一个新的振动速度时,您基本上会振动 2 个速度。

也许这与我使用新线程进行计时并且线程一直运行有关。有办法防止这种情况吗?谢谢!

 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,当按下“开始”按钮时,它会切换 boolean 值并在一段时间内启动新的威胁(运行== true) 在其中循环。再按一次按钮即可停止振动,效果就像一个魅力。

最佳答案

尝试在管理线程的类中设置一个变量,例如

boolean isTempoOn = true;

在您的主要 Activity 中,在 onResume() 函数中,检查它是否已在运行。如果是这样,请不要重新开始。

也许发布代码的适用部分会有所帮助。

关于java - Android Wear 应用程序双运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35300851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com