현재 Bluetooth 가 꺼져 있으면 앱 시작 시, Bluetooth 를 자동으로 켜주는 기능을 넣고 싶어서 찾아보니
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 와 같이 어댑터를 받아온 후
mBluetoothAdapter.enable(); 로 Bluetooth를 켜는 것으로 알고있습니다.
현재 사용 중인 앱이 ViewPager로 구성되어 있는 앱인데
MainActivity에서 onCreate() 할 때, 이를 선언해 준 후, 꺼져 있으면 on을 해줍니다.
그런데 on을 한 후에, mBluetoothAdapter.isEnable() 함수로 상태를 확인해보면 false로 나옵니다. (이 앱에선 계속 false)
뭔가 이상해 새로운 테스트 프로젝트에 버튼 2개를 달고
하나는 Bluetooth를 끄고 하나는 켜는 기능을 넣었습니다.
그리고 끄고 키는 동작 바로 후, Bluetooth 상태를 로그로 찍어보니 바로 바뀌지 않고 일정시간(?)이 지난 후
상태가 바뀌는걸 확인해볼 수 있었습니다.
질문 1) 원래 mBluetoothAdapter.enable() 과 같이 turn on 명령을 내리면 상태가 변경되는데 일정 시간이 소요 되나요?
질문 2) BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 와 같이 어댑터를 받아올 때
한번 받은 어댑터를 계속 넘기면서 할 필요없이, 필요할 때 위의 방법처럼 받아와도 문제 없나요?
ex - 1.java 에서 선언한 mBluetoothAdapter랑 2.java에서 선언한 mBluetoothAdapter랑 같은지 (전 같다고 생각)
오버 플로우나 구글링 열심히 해봐도 다 mBluetoothAdapter.enable() 만하면 다 켜진다는데
저는 안돼서 오늘 오전 다 날렸네요...