2017-10-25 13 views
0

私はBluetooth Low Energyをサポートする電話機を使用していますが、間違ったトーストを受け取りました。私はhasSystemFeatureの出力をCameraのような他の周辺機器でチェックし、falseも返します。私は間違って何をしていますか?hasSystemFeatureメソッドがBluetoothLEサポートを確認している間に間違った値を返します

私はマニフェスト内の適切なコンフィグを持っている:

<uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <uses-feature android:name="android.hardware.bluetooth.le" android:required="false"/> 

答えて

0

あなたが使用する必要があります。

hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE) 

https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_BLUETOOTH_LE

をデバイスは、Bluetoothをサポートしているかどうかを確認する別の方法:

val btAdapter = BluetoothAdapter.getDefaultAdapter() 
val btSupported = btAdapter != null 

それがオンになっているかどうか確認してください:

val btEnabled: Boolean = btAdapter?.isEnabled ?: false 
+0

ありがとうございます。解決策は、単純な文字列 "FEATURE_BLUETOOTH_LE"の代わりにPackageManager.FEATURE_BLUETOOTH_LEを使用することでした。それが私のコードの唯一の変更です。うん、私はAPI要件が少なくとも18に設定されている。 – dawzaw

関連する問題