Par programmation activation bluetooth sur Android
Je suis en train de déterminer la meilleure façon pour par programme l'activation bluetooth sur Android. J'ai trouvé que l'une des techniques suivantes de travaux (au moins sur Android 4.0.4...):
public class MyActivity extends Activity {
public static final int MY_BLUETOOTH_ENABLE_REQUEST_ID = 6;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, MY_BLUETOOTH_ENABLE_REQUEST_ID);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == MY_BLUETOOTH_ENABLE_REQUEST_ID) {
if (resultCode == RESULT_OK) {
//Request granted - bluetooth is turning on...
}
if (resultCode == RESULT_CANCELED) {
//Request denied by user, or an error was encountered while
//attempting to enable bluetooth
}
}
}
ou...
BluetoothAdapter.getDefaultAdapter().enable();
L'ex-demande à l'utilisateur la permission avant d'activer alors que le deuxième a juste silencieusement permet bluetooth (mais nécessite l' "android.la permission.BLUETOOTH_ADMIN" autorisation). Est l'un ou l'autre ancien/obsolètes et/ou est une technique uniquement disponible sur certains appareils? ou est-ce juste une question de préférence personnelle à laquelle je utiliser?
Je me souviens avoir lu quelque part que vous ne devriez pas tourner sur des choses sans en informer l'utilisateur. Google n'aime pas ça.
C'est vrai, mais les deux techniques sont fournis par Google et, par conséquent, devrait être Google approuvé... et à la fois indiquer à l'utilisateur, c'est juste une question de QUAND ils indiquent à l'utilisateur (lors de l'installation contre, plus tard, quand c'est réellement active le bluetooth). Je sais que l'on peut être préférable de convivialité à la clientèle point de vue, mais je voudrais aussi savoir si les deux techniques sont disponibles partout, ou si l'un ou l'autre est réservé à certaines versions, ou si l'on a été une fois de manière normale, mais est maintenant désapprouvée, etc.
C'est vrai, mais les deux techniques sont fournis par Google et, par conséquent, devrait être Google approuvé... et à la fois indiquer à l'utilisateur, c'est juste une question de QUAND ils indiquent à l'utilisateur (lors de l'installation contre, plus tard, quand c'est réellement active le bluetooth). Je sais que l'on peut être préférable de convivialité à la clientèle point de vue, mais je voudrais aussi savoir si les deux techniques sont disponibles partout, ou si l'un ou l'autre est réservé à certaines versions, ou si l'on a été une fois de manière normale, mais est maintenant désapprouvée, etc.
OriginalL'auteur Troy | 2014-03-21
Vous devez vous connecter pour publier un commentaire.
Il est clairement mentionné dans Android Doc
Ces deux techniques de travail. Vous avez à choisir en fonction de votre objectif et de l'exigence.
Espérons qu'il répond à vos questions.
OriginalL'auteur theangrylama
Je pense que cela peut être utile...
https://stackoverflow.com/a/20142972/1386533
Vous doit également ajouter des autorisations suivantes dans le fichier manifest.
android.la permission.BLUETOOTH,
android.la permission.BLUETOOTH_ADMIN
OriginalL'auteur Rakesh Gondaliya
Cela fonctionne pour moi...
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mBluetoothAdapter.enable();
OriginalL'auteur parvez rafi