2016-11-22 2 views
0

Android搭載デバイスにBluetoothが搭載されているかどうか確認したい場合は、それを使用してください。私はこのために次の2つのコードの部分を持っている、と私は両方を必要とする理由(多くのブログ記事やドキュメントが示唆するように)把握することはできません。BLE(Bluetooth low energy)機能が利用可能かどうかを確認し、機能を使用しようとしていて失敗するかどうかの違いは何ですか?

if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { 
    mState = State.Unsupported; 
    return; 
} 

mBluetoothManager = (BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE); 
if (mBluetoothManager == null) { 
    mState = State.Unsupported; 
    return; 
} 

これらを実行します。どちらも同じことをします(変数の設定を除いて)か、私が気づいていない微妙なものがありますか? Androidのドキュメントから

答えて

0

のAndroid 4.3(APIレベル18)が中心的な役割でのBluetooth低エネルギーのためのプラットフォームのサポートを内蔵し、アプリはデバイス、サービスのクエリを発見するために使用できるAPIを提供して導入し、読み取り/書き込みの特性。従来のBluetoothとは対照的に、Bluetooth Low Energy(BLE)は大幅に低消費電力を実現するように設計されています。これにより、Androidアプリは、近接センサ、心拍モニタ、フィットネス機器など、低消費電力のBLEデバイスと通信することができます。

あなたが見ることができるように、BluetoothとBluetooth低エネルギーにはいくつかの明確な違いがあります。したがって、Bluetooth Low Energyを使用する場合は、Classic Bluetoothの場合と同様に、Bluetooth Low Energyを使用できるかどうかを確認する必要があります。

0

Bluetoothは2つの異なるプロトコルです。通常のBluetooth(3.x)を搭載していて、Bluetooth LEを搭載していないデバイスにいる可能性があります。 Bluetoothを搭載していないデバイスでも可能性があります。

Android Compatibility Definition Document:BluetoothとBluetooth LEは、ハンドセットのために '必須'ではないため、その機能を持たないデバイスに遭遇する可能性があります。

関連する問題