安卓线程不停止



所以我在我的应用程序中集成了一个功能,该应用程序可以通过蓝牙从连接到Arduino的麦克风读取模拟信号。现在我想在某个文本视图中显示这些模拟信号,并每秒更新一次。我使用线程执行此操作。

现在我的问题是:线程正常启动并显示 corretct 信号,但是当我尝试使用 .interrupt(( 停止它时,它只是继续前进。有人知道我的错误可能在哪里吗?

所以这是我的代码:

在我的线程中调用的函数:

public void showTerminalOutput (TextView terminalOutput)
{
//Input stream ablesen auf dem seriellen Monitor und das Ganze abbilden auf Textview
//input stream ablesen
try{
InputStream inputStream = btSocket.getInputStream();
inputStream.skip(inputStream.available()); //Überspringt den InputStream der möglicheweise schon vorher da war
//TODO: Die Größe der Forschleife muss abhängig vom Input Stream ermittelt werden, da ich jedoch noch nicht weiß wie das geht, benutze ich hier VORLÄUFIG eine statische Zahl
String Ausgabe = new String();
for (int i = 0; i<3; i++ )
{
byte b = (byte)inputStream.read();
//print it out in the console
System.out.println((char) b);
//String konkattenieren
String str = String.valueOf((char)b);
System.out.println(str);

Ausgabe = Ausgabe + str;

}
//String konkattenieren und im Terminal Ausgeben
System.out.println("Die Ausgabe ist gespeichert als: " + Ausgabe);
terminalOutput.setText(Ausgabe);

}
catch(IOException e)
{
System.out.println("something went wrong @ Funktion Terminal Output");
}
}

线程:

public Thread analogeAnzeige()
{
return new Thread()
{
@Override
public void run(){
while(!(t.isInterrupted())){
try {
Thread.sleep(1000);  //1000ms = 1 sec
runOnUiThread(new Runnable() {
@Override
public void run() {
showTerminalOutput(analog1);
}
});
} catch (InterruptedException e) {
t.interrupt();
}
}
}
};
}

现在在onCreate中,我只有另一个线程模拟,我初始化为:

analog = analogeAnzeige();

然后我必须按钮"开始"和"停止"。 在继续点击时,我做:

analog.start();

在停止点击时,我做:

analog.interrupt();

有人看到我的错误吗?

提前感谢!

好吧,所以我很愚蠢,指的是另一个线程"t"而不是线程"模拟"。孩子们,编码时休息一下!;)