2017-09-19 2 views
0

BLE 개발에 새로운 소식입니다. 배터리 상태 및 비율을 보여주는 데모를 만들고 있습니다. 올바르게 작동하지만 때로는 0 %를 표시하는 경우가 있는데 이는 올바르지 않습니다. 아래와 같은 batterylevel를 얻을 수안드로이드에서 BLE 장치의 배터리 건전지를 정확히 얻는 방법

final byte[] data = characteristic.getValue(); 
    if (data != null && data.length > 0) { 
     final StringBuilder stringBuilder = new StringBuilder(data.length); 
     for(byte byteChar : data) 
      stringBuilder.append(String.format("%02X ", byteChar)); 

     final int flag = characteristic.getProperties(); 
     int format = -1; 
     if ((flag & 0x01) != 0) { 
      format = BluetoothGattCharacteristic.FORMAT_UINT16; 
      Log.d(TAG, " format UINT16."); 
     } else { 
      format = BluetoothGattCharacteristic.FORMAT_UINT8; 
      Log.d(TAG, " UINT8."); 
     } 
     int batterylevel = characteristic.getIntValue(format, 0); 
     Intent in = new Intent(getApplicationContext(), HomeActivity.class); 
     in.putExtra("battery_status", String.valueOf(batterylevel)); 
     in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(in); 
     finish(); 

    } 
+0

아무에게도 도움을 줄 수 있습니까? – Sudhansu

답변

0

시도 : 다음은 내 코드입니다.

characteristic.getValue()[0] 
+0

안녕하세요 Mehul 내가 그것으로 교체했지만 여전히 장치가 분리되어 다시 연결되면오고 있습니다. – Sudhansu

관련 문제