2012-09-05 3 views
0

처음에는 내 안드로이드 장치가 블루투스 장치를 검색 한 다음 목록보기에 표시합니다. 그 중 하나를 선택하면 새 화면이 나타납니다. 연결이 끊어졌을 때 기본 화면으로 돌아 오는 방법. 다음은 선택된 장치 화면의 코드입니다.블루투스 연결이 끊긴 경우 이전 화면으로 돌아 오는 방법은 무엇입니까?

public class devicefound extends Activity implements OnClickListener { 

private BluetoothAdapter mBluetoothAdapter = null; 
private BluetoothSocket btSocket = null; 
private OutputStream outStream = null; 
Button b1; 
private static final UUID MY_UUID = 
     UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 
public static String address; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    findViewById(R.id.b1).setOnClickListener(this); 
    b1 = (Button) findViewById(R.id.b1); 
} 

@Override 
public void onStart() { 
    super.onStart(); 

    String address = getIntent().getStringExtra("address"); 
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); 

    try { 
     btSocket = device.createRfcommSocketToServiceRecord(MY_UUID); 
    } catch (IOException e) { } 

    run(); 

} 

public void run(){ 
    try { 
     btSocket.connect(); 

    } catch (IOException e) { 
     try { 
      btSocket.close(); 
     } catch (IOException e2) { } 
     return; 
    } 
} 


public void onClick(View v){ 
    String message1 = "1"; 

    byte[] msgBuffer1 = message1.getBytes(); 
    try{ 
    outStream = btSocket.getOutputStream(); 
    } catch (IOException e){ } 
     try { 
      outStream.write(msgBuffer1); 
     } catch (IOException e) { 
     } 
    } 

}   


@Override 
public void onPause() { 
    super.onPause(); 
    if (outStream != null) { 
     try { 
      outStream.flush(); 
     } catch (IOException e) { } 
    } 

} 

@Override 
public void onStop() { 
    super.onStop(); 

} 

@Override 
public void onDestroy() { 
    super.onDestroy(); 

} 

} 
+0

잘 알고 있겠지만 서비스에서 설정 한 BluetoothAdapter의 상태를 모니터링하는 것으로 시작합니다. 여기에서 onBind 메서드를 사용하여 onBackPressed()를 호출하기 위해 현재 액티비티로 메시지를 보낼 수 있습니다. 제 생각에는 이것이 올바른 방향으로 나아갈 것입니다. http://developer.android.com/reference/android/app/Service.html#LocalServiceSample :) – Christopher

답변

0

이전 화면으로 돌아가려면 devicefound 클래스가 Activity에서 상속하는 finish 메서드를 호출 할 수 있습니다.

관련 문제