Steady Blog

안드로이드 블루투스 통신 본문

임시 자료/유니티_안드로이드

안드로이드 블루투스 통신

우유먹고쑥 2014. 8. 20. 22:59

원 본 : http://dsnight.tistory.com/trackback/36


1. 권한 등록 (Permission 등록)



BLUETOOTH : 커넥션 요구, 커넥션 수락, 데이터  전송 등의 블루투스 통신을 하기 위해 필요한 권한

BLUETOOTH_ADMIN : 디바이스 검색 시작, 블루투스 설정을 조작하기 위해 필요

(BLUETOTH_ADMIN 권한을 사용 하려면 BLUETOOTH 권한도 꼭 있어야 한다.)


Manifest에 블루투스 권한 등록


Android Manifest.xml


2. 새 Class 파일 생성

MainActivity에는 Button과 TextView만 배치해 놓고 BluetoothService라는 Class를 만들도록 한다.

BlueToothService 라는 Class에서 블루투스와 관련된 모든 작업을 처리할 예정이다.

작업이 처리되는 과정은 핸들러를 통해서 MainActivity에 전달되어 상태값을 전달받아 Textview에 보여주거나 버튼의 상태를 변경해 주도록 할 것이다.


BluetoothService 생성자는 메인이 되는 MainActivity로 부터 activity와 Handler 값을 받는다.


BlueToothService.java



MainActivity.java


3. 블루투스 활성화 


블루 투스를 활성화 하기 위해 BluetoothAdapter클래스를 사용해서 다음 두 단계의 작업을 순서대로 진행한다.


① 블루투스 지원 확인

② 블루투스 활성화


① 블루투스 지원 확인

블루투스 통신을 사용하기 전에 디바이스가 블루투스를 지원하는지 확인할 필요가 있다. 

BluetoothService.java


getDeviceState() 라는 메소드를 만들어서 기기의 블루투스 지원여부를 확인한다.

BlueToothAdapter가 null일 경우 블루투스 통신을 지원하지 않는 기기이다.


BluetoothService.java


기기의 블루투스 상태가 On 일 경우 다음 단계를 실행하면 되고,

기기의 블루투스 상태가 Off 일 경우 블루투스 활성화를 요청하는 알림창을 띄운다.


알림창에서 확인/취소를 선택할 경우 결과는 MainActivity에 OnActivityResult() 메소드로 들어온다.

그 전에 startActivityForResult의 개념에 대해서 알고 있어야 이해하기 편한데, 이것은 구글링을 통해서 알아 보는 것을 추천한다.


알림창의 확인/취소 결과는 MainActivity에 onActivityResult()메소드로 전달되는데 소스를 보면 다음과 같다.


MainActivity.java


'임시 자료 > 유니티_안드로이드' 카테고리의 다른 글

Intent 란?  (0) 2014.08.25
Activity란?  (0) 2014.08.25
startActivityForResult(), onActivityResult() 사용하기  (0) 2014.08.25
델리게이트  (0) 2014.05.08
Unity Life Cycle  (0) 2014.05.08