블루투스 예제

바우어즈 /안드로이드 – 간단한 블루투스 – 예의 새로운 릴리스의 알림을 원하십니까? 선언해야 하는 다른 권한은 ACCESS_COARSE_LOCATION 또는 ACCESS_FINE_LOCATION입니다. Bluetooth 스캔을 사용하여 사용자의 위치에 대한 정보를 수집할 수 있으므로 위치 권한이 필요합니다. 이 정보는 사용자의 기기뿐만 아니라 상점 및 대중 교통 시설과 같은 위치에서 사용 중이던 Bluetooth 비콘에서 제공될 수 있습니다. 두 장치를 연결하려면 열린 BluetoothServerSocket을 사용하여 서버 역할을 해야 합니다. 서버 소켓의 목적은 들어오는 연결 요청을 수신하고 요청이 수락된 후 연결된 BluetoothSocket을 제공하는 것입니다. BluetoothServerSocket에서 BluetoothSocket을 구입하면 장치가 더 많은 연결을 수락하지 않는 한 BluetoothServerSocket을 폐기할 수 있으며 폐기해야 합니다. 장치 검색은 Bluetooth 지원 장치의 로컬 영역을 검색하고 각 장치에 대한 몇 가지 정보를 요청하는 검색 절차입니다. 이 프로세스를 검색, 문의 또는 검색이라고도 합니다. 그러나 근처의 Bluetooth 장치는 현재 검색 가능으로 정보 요청을 수락하는 경우에만 검색 요청에 응답합니다. 장치를 검색할 수 있는 경우 장치 이름, 해당 클래스 및 고유한 MAC 주소와 같은 일부 정보를 공유하여 검색 요청에 응답합니다.

이 정보를 사용하여 검색 프로세스를 수행하는 장치는 검색된 장치에 대한 연결을 시작하도록 선택할 수 있습니다. Bluetooth를 사용할 수 있는 방법의 좋은 예는 전선이나 특수 커넥터 없이 컴퓨터를 휴대폰에 연결하는 기능입니다. 사진은 SMC의 USB 블루투스 어댑터의 예입니다. 앱에서 장치 검색을 시작하거나 Bluetooth 설정을 조작하려면 BLUETOOTH 권한 외에 BLUETOOTH_ADMIN 권한을 선언해야 합니다. 대부분의 응용 프로그램은 로컬 Bluetooth 장치를 검색할 수 있는 기능만을 위해 이 권한이 필요합니다. 응용 프로그램이 사용자 요청에 따라 Bluetooth 설정을 수정하는 “전원 관리자”가 아니면 이 권한에 의해 부여된 다른 기능을 사용해서는 안 됩니다. 원격 장치로 처음으로 연결되면 페어링 요청이 사용자에게 자동으로 표시됩니다. 장치가 페어링되면 장치 이름, 클래스 및 MAC 주소와 같은 해당 장치에 대한 기본 정보가 저장되고 Bluetooth API를 사용하여 읽을 수 있습니다. 원격 장치에 대해 알려진 MAC 주소를 사용하여 장치가 여전히 범위 내에 있다고 가정하여 검색을 수행하지 않고 언제든지 연결을 시작할 수 있습니다.

UUID는 정보를 고유하게 식별하는 데 사용되는 문자열 ID에 대해 표준화된 128비트 형식입니다. UUID의 요점은 임의의 ID를 선택할 수 있을 만큼 크고 다른 ID와 충돌하지 않는다는 것입니다. 이 경우 응용 프로그램의 Bluetooth 서비스를 고유하게 식별하는 데 사용됩니다. 응용 프로그램과 함께 사용할 UUID를 얻으려면 웹에서 여러 임의의 UUID 생성기 중 하나를 사용한 다음 fromString(문자열)을 사용하여 UUID를 초기화할 수 있습니다.