2012-03-08 4 views
2

Sur le Kindle Fire, comme il n'y a pas de Bluetooth, selon la documentation Android (à http://developer.android.com/guide/topics/wireless/bluetooth.html), si un développeur appelle 'getDefaultAdapter()', il devrait retourner null. Cependant, le Kindle Fire ne retourne pas null dans un tel cas. Je pensais que peut-être si j'appelais alors 'getAddress()' cela pourrait fonctionner. Cela fonctionne sur certains appareils mais sur d'autres, 'getAddress()' peut retourner une valeur nulle si le Bluetooth n'a pas été activé, ce qui ne fonctionne pas non plus. J'ai trouvé ce gars: http://groups.google.com/group/Android-developers/browse_thread/thread/fcb2e20713c6795c mais ne semble pas que quelqu'un a offert une solution.Détecter le manque de Bluetooth sur les appareils Android

Pour l'instant, je vérifie si l'adaptateur Bluetooth est nul ou si le modèle de l'appareil est «Kindle Fire» mais je ne veux vraiment pas faire cela et préférerais certainement une solution plus générale. Quelqu'un a des idées?

+0

Même problème sur RIM Playbook: il renvoie un adaptateur même s'il ne prend pas en charge Blueooth. (Notez que le Playbook a effectivement Bluetooth, mais ne supporte pas les applications Bluetooth.) – Tom

Répondre

1

Essayez hasSystemFeature("android.hardware.bluetooth"), appelé PackageManager.

+0

semble fonctionner ... merci beaucoup monsieur. Maintenant, comment tester si un périphérique prend en charge 'Settings.ACTION_WIFI_SETTINGS' intention ??? (ou, voulez-vous que je crée une question distincte pour que vous puissiez obtenir des points supplémentaires?) .... Kindle Fire ne supporte pas 'Settings.ACTION_WIFI_SETTINGS' donc, actuellement, je teste si le modèle de l'appareil est ' Kindle Fire "et, si oui, j'utilise l'intention 'Settings.ACTION_WIRELESS_SETTINGS' comme Kindle Fire semble soutenir cela, mais je suis sûr que ce n'est pas un très bon moyen ... – fatfreddyscat

Questions connexes