두 대의 Android 휴대 전화가 있습니다. 블루투스를 통해 자동 연결을 만들고 싶습니다. 예 :범위 내에 있으면 페어링 된 블루투스 장치에 자동으로 연결할 수 있습니까?
다른 블루투스와 페어링 된 내 안드로이드 전화가 있습니다. 이 전화기를 가까이에 놓으면 Bluetooth 장치를 감지하고 선택한 Android 전화 (이전에 알려진 Adress/MAC/Paired)에 자동으로 연결해야합니다. 다시 연결할 필요가 없습니다. 내 안드로이드 응용 프로그램에서 이런 종류의 연결을 원한다.
저는 Google과 관련된 참조 자료를 찾았지만 아직 문제를 해결하지 못했습니다. 나는 범위 내에있을 때 블루투스를 자동으로 연결하기 위해 스레드/서비스를 만들어야한다고 생각합니다. 그러나, 나는 그것을 구현할 수 없습니다. 좋은 해결책이 있다면 알려주십시오. 당신이
Automatically connect to paired bluetooth device when in range
Find already paired bluetooth devices automatically, when they are in range
/**
* The BroadcastReceiver that listens for discovered devices and changes the title when
* discovery is finished
*/
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// If it's already paired, skip it, because it's been listed already
if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
// When discovery is finished, change the Activity title
} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
setProgressBarIndeterminateVisibility(false);
setTitle(R.string.select_device);
if (mNewDevicesArrayAdapter.getCount() == 0) {
String noDevices = getResources().getText(R.string.none_found).toString();
mNewDevicesArrayAdapter.add(noDevices);
}
}
}
};