2014-11-10 4 views
1

내 응용 프로그램의 한 영역에서 BLE 장치의 GATT 서버에 연결하고 응용 프로그램의 다른 영역에서 장치와의 연결을 끊고 싶습니다. 문제는 연결을 끊을 때 더 이상 BluetoothGatt 클라이언트 개체 (disconnect() 메서드 사용)에 액세스 할 수 없다는 것입니다. BluetoothGatt에 대한 참조없이 BLE 장치에서 연결을 끊는 방법이 있습니까?연결된 BLE 장치의 GATT 서버 연결 해제

답변

2

나는 당신 자신의 기본적인 추상화 층을 쓸 것이다. 가장 간단한 방법으로 전역 참조가있는 하나의 인스턴스가있는 하나의 클래스가 될 수 있습니다. 정말 기본 스텁 예 :

public class MyBleWrapper 
{ 
    private static MyBleWrapper s_instance = new MyBleWrapper(); 

    private BluetoothDevice m_device; 
    private BluetoothGatt m_gatt; 

    public static MyBleWrapper getInstance() 
    { 
     return s_instance; 
    } 
} 

그런 다음 connect()m_gatt 멤버에서 작동 할 disconnect() 같은 다양한 방법을 추가합니다. Android BLE로 발견하기 시작할 모든 단점과 버그 때문에 자신 만의 추상화 레이어를 작성하는 것이 좋습니다. 깨끗한 인터페이스 뒤에 이들을 배치하는 것이 가장 좋습니다.

관련 문제