あなたは、少なくとも3つのスレッドを持っていますスレッド2(ConnectThreadを作成するスレッド)とスレッド3(別のスコープ内のスレッド)で使用可能なものが必要です。
ConnectedThread thread = new ConnectedThread(btSocket);
ThreadHolder.connectedThread=thread;
thread.start();
で:スレッド2では
public class ThreadHolder{
public static ConnectedThread connectedThread
}
は、あなたが参照を設定します。
単純なアプローチは、スレッドの参照を保持している静的変数を持つクラスThreadHolderを持つことが、可能性がありスレッド3あなたはそれを見つける:
また、ConnectedThreadにthread.setName( "connectedThread")
そして、この方法を使用してhtread 3でそれを見つける:スレッド2に名前
public Thread getThreadByName(String threadName) {
for (Thread t : Thread.getAllStackTraces().keySet()) {
if (t.getName().equals(threadName)) return t;
}
return null;
}
はfind thread by name
も参照