Je souhaite activer / désactiver le Bluetooth via le programme. J'ai le code suivant.
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
Mais ce code ne fonctionne pas dans le SDK 1.5. Comment puis-je le faire fonctionner?
Réponses:
La documentation Android BluetoothAdapter indique qu'il est disponible depuis le niveau d' API 5. Le niveau d'API 5 est Android 2.0.
Vous pouvez essayer d'utiliser un backport de l'API Bluetooth (je ne l'ai pas essayé personnellement): http://code.google.com/p/backport-android-bluetooth/
la source
ce code a fonctionné pour moi.
Pour que cela fonctionne, vous devez disposer des autorisations suivantes:
la source
Voici un moyen un peu plus robuste de le faire, en gérant également les valeurs de retour des
enable()\disable()
méthodes:Et ajoutez les autorisations suivantes dans votre fichier manifeste:
Mais rappelez-vous ces points importants:
METTRE À JOUR:
Ok, alors comment implémenter l'écouteur Bluetooth?:
Et comment enregistrer / désinscrire le récepteur? (Dans ta
Activity
classe)la source
BLUETOOTH_ADMIN
autorisation, cela fonctionne, mais sinon, vous devez utiliserstartActivityForResult(enableBtIntent, 0);
pour activer votre bluetoothBluetooth should never be enabled without direct user consent. If you want to turn on Bluetooth in order to create a wireless connection, you should use the ACTION_REQUEST_ENABLE Intent, which will raise a dialog that requests user permission to turn on Bluetooth. The enable() method is provided only for applications that include a user interface for changing system settings, such as a "power manager" app.
Qu'est-ce que cela signifie? Par ex. J'ai créé une petite application à partir de votre code et cela a fonctionné. Mais si je veux télécharger sur Play Store, cela ne fonctionnera pas?Pour activer le Bluetooth, vous pouvez utiliser l'une des fonctions suivantes:
La deuxième fonction est:
La différence est que la première fonction oblige l'application à demander à l'utilisateur l'autorisation d'activer le Bluetooth ou de refuser. La deuxième fonction permet à l'application d'activer directement le Bluetooth.
Pour désactiver le Bluetooth, utilisez la fonction suivante:
REMARQUE / La première fonction n'a besoin que de l'autorisation suivante pour être définie dans le fichier AndroidManifest.xml:
Alors que, les deuxième et troisième fonctions nécessitent les autorisations suivantes:
la source
La solution de prijin a parfaitement fonctionné pour moi. Il est juste de mentionner que deux autorisations supplémentaires sont nécessaires:
Lorsque ceux-ci sont ajoutés, l'activation et la désactivation fonctionnent parfaitement avec l'adaptateur Bluetooth par défaut.
la source
J'ai utilisé le code ci-dessous pour désactiver BT lorsque mon application se lance et fonctionne correctement. Je ne sais pas si c'est la bonne façon de mettre en œuvre cela, car Google recommande de ne pas utiliser "bluetooth.disable ();" sans action explicite de l'utilisateur pour désactiver Bluetooth.
J'ai uniquement utilisé l'autorisation ci-dessous.
la source
Ajoutez les autorisations suivantes dans votre fichier manifeste:
Activer Bluetooth utiliser ceci
Désactivez le Bluetooth, utilisez ceci
la source
essaye ça:
Ajouter ces autorisations dans le manifeste
la source