Si vous consultez le développeur docs, lien here. Vous verrez que l'objet nul est retourné dans le cas suivant:
Renvoie un objet BluetoothLeAdvertiser pour les opérations Bluetooth LE Publicité. Renvoie la valeur null si Bluetooth est désactivé ou si Bluetooth LE Advertising n'est pas pris en charge sur cet appareil.
Si vous ne savez pas si l'appareil prend en charge Bluetooth à tout ce que vous devriez vérifier si le BluetoothAdapter
retourné par le système est null
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
// Device does not support Bluetooth
}
Ensuite, ils vous conseiller d'appeler isMultipleAdvertisementSupported()
pour voir si elle est prise en charge d'abord .
if(!mBluetoothAdapter.isMultipleAdvertisementSupported()){
//Device does not support Bluetooth LE
}
S'il prend en charge BLE vous devez vérifier si Bluetooth est activé et si non, sensibiliser l'utilisateur et le résoudre.
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
devrait couvrir la plupart que des temps l'adaptateur est null
cela pourrait être pertinent: http://stackoverflow.com/questions/26441785/ fait-bluetoothleadvertiser-travail-on-a-nexus-5 avec Android-5-0 – Nfear
Il est possible que votre appareil ne prend pas en charge le mode périphérique Bluetooth lE. Voici [discussion sur les modèles pris en charge] (http://stackoverflow.com/questions/26482611/chipsets-devices-supporting-android-5-ble-peripheral-mode) et au moment [cette page] (https: // altbeacon .github.io/android-balise bibliothèque/balise émetteur-devices.html) est probablement la meilleure source pour cette information. –
Wow, ok- merci. Existe-t-il un autre moyen de diffuser un signal Bluetooth à partir d'un appareil Android? – Anfaje