2016-09-07 4 views
0

android 응용 프로그램에서는 wifiInfo.getLinkSpeed() 메서드를 사용하여 WiFi 연결 속도를 얻을 수 있습니다.블루투스 연결 방법 연결 속도 android

그러나 얻을 수있는 방법이 있습니까 Bluetooth connection Link Rate? 모든 API 또는 방법을 사용할 수 있습니까?

답변

0

나는 블루투스 응용 프로그램에서 작업했고 나는 당신과 같은 필요성을 가지고 있었지만 블루투스 연결 속도를 mbps로 얻는 해결책을 찾지 못했습니다.

따라서이 솔루션은 요청한 블루투스 링크 속도에 대한 정확한 값을 제공하지는 않지만 실제로 수신 신호 강도 표시기 (RSSI : Received Signal Strength Indicator)를 사용하여 블루투스 링크 품질 (양호, 중간, 불량)).

블루투스 RSSI의 값을 읽으려면, 당신이 당신의 클래스에 BroadcastReceiver을 추가해야합니다 :

private final BroadcastReceiver receiver = new BroadcastReceiver(){ 
    @Override 
    public void onReceive(Context context, Intent intent) { 

     if(BluetoothDevice.ACTION_FOUND.equals(intent.getAction())) { 
     //Get the RSSI value here 
      int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE); 
     } 

    } 
}; 

귀하의 수신기가 사용하여 등록해야합니다 : 이제

registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND)); 

, 당신은 알 필요가 RSSI 값이 증가하면 데이터 전송 속도가 향상되므로이므로 각 링크 품질에 대한 범위를 정의하기 만하면됩니다.

PS : 블루투스 Bluetooth RSSI values are always in dBm in all Android devices?이 도움이 :)

0

짧은 대답은 그러한 인터페이스입니다

희망을 RSSI 값에 대한 자세한 내용은이 링크를 참조하십시오. 긴 대답은 Bluetooth의 속도가 하드웨어 및 소프트웨어 차이 (예 : 다른 장치)에 따라 달라진다는 것입니다. BR/EDR/BLE 및 Bluetooth는 BR/EDR/BLE의 최대 속도 데이터 만 정의했습니다. 대부분의 경우 Bluetooth 링크는 음악이나 전화를 듣는 경우를 제외하고 사용자 데이터를 전송하지 않고 링크 만 유지하므로 Bluetooth가 링크 속도를 평가하는 것은 아닙니다 (적어도 최종 사용자의 경우).