처음에는 내 안드로이드 장치가 블루투스 장치를 검색 한 다음 목록보기에 표시합니다. 그 중 하나를 선택하면 새 화면이 나타납니다. 연결이 끊어졌을 때 기본 화면으로 돌아 오는 방법. 다음은 선택된 장치 화면의 코드입니다.블루투스 연결이 끊긴 경우 이전 화면으로 돌아 오는 방법은 무엇입니까?
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();
}
}
잘 알고 있겠지만 서비스에서 설정 한 BluetoothAdapter의 상태를 모니터링하는 것으로 시작합니다. 여기에서 onBind 메서드를 사용하여 onBackPressed()를 호출하기 위해 현재 액티비티로 메시지를 보낼 수 있습니다. 제 생각에는 이것이 올바른 방향으로 나아갈 것입니다. http://developer.android.com/reference/android/app/Service.html#LocalServiceSample :) – Christopher