2014-02-03 4 views
0

Далее в моей кнопке мыши в андроидеКак управлять несколькими потоками одного и того же объекта?

protected onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState) 
      public void onClick(View arg0) 
        { 
         if(connectThread!=null) 
          { 
           connectThread.kill(); 
          } 
         connectThread=new ConnectThread(device); 
         connectThread.start(); 
        } 
} 

Я сделал boolean энергонезависимое переменные работает в ConnectThread классе, который является истинным по умолчанию и убить метод установит ему значение ложь. Проблема в том, что все еще не работает причина может заключаться в том, что в моем методе запуска ConnectThread им создается другой поток, но это не должно быть проблемой, поскольку это вызвано вызовом метода run, и поскольку это будет дочерний поток ConnectThread; при убийстве connectThread, который будет автоматически отменен?

метод убить из ConnectThread

public void kill() 
       { 
       running=false; 
       } 

метода пробега ConnectThread

public void run() 
     { 
       while(running) 
         { 
         } 
     } 
+0

Я понял это на подключенном событии. Я назвал метод kill, чтобы он остановился, и по методу кликов мне нужно установить его true, создав другой метод в потоке, который будет работать с true. – user3266922

ответ

0

Если приложение все еще активно на вашем устройстве, и вы начали второе резьбовое соединение, устройство Bluetooth не может быть доступный.

Рекомендовано читать на Android Activity Lifecycle.

+0

Есть ли способ, который на второй кнопке щелкнул предыдущий поток, будет снесен, и новый поток начнет обмениваться – user3266922

+0

ALifeCycle начинает работать, когда я приостанавливаю приложение, возвращаясь или переадресация или появляется диалоговое окно, но проблема в том, что я остаюсь на текущем и нажмите кнопку несколько раз, чтобы отправить те же данные. – user3266922

Смежные вопросы