32 votes

Comment ouvrir l'activité des paramètres Bluetooth de manière programmée ?

Je veux ouvrir les paramètres Bluetooth en cliquant sur un bouton. comme ceci voir l'image bluetooth image

HomeActivity.java

button.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                final Intent intent = new Intent(Intent.ACTION_MAIN, null);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.bluetoothSettings");
                intent.setComponent(cn);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity( intent);
            }
        });

64voto

Ewoks Points 3910

Peut-être que j'ai raté quelque chose, mais n'est-ce pas une solution plus simple, à l'épreuve du temps ?

Intent intentOpenBluetoothSettings = new Intent();
intentOpenBluetoothSettings.setAction(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS); 
startActivity(intentOpenBluetoothSettings); 

Il n'est absolument pas possible de "supprimer" les autres paramètres. Sur les téléphones, une seule catégorie de paramètres est affichée. Sur les tablettes, en raison de l'espace supplémentaire, les paramètres sont affichés dans une disposition maître-détail afin qu'il n'y ait pas d'espace vide sur plus de la moitié de l'écran de la tablette. C'est ainsi qu'Android est conçu, et il suffit d'écrire une application qui ne peut pas être modifiée.

Comme suggéré par @zelanix, le BLUETOOTH_ADMIN une autorisation en manifeste est nécessaire.

31voto

Aj 27 Points 1774

Je pense que vous devriez essayer cette version plus facile :

startActivity(new Intent(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS));

18voto

ρяσѕρєя K Points 51253

Utiliser

ComponentName cn = new ComponentName("com.android.settings", 
                   "com.android.settings.bluetooth.BluetoothSettings");

au lieu de

final ComponentName cn = new ComponentName("com.android.settings", 
                              "com.android.settings.bluetoothSettings");

pour lancer les paramètres BluetoothSettings

2voto

Vasarla Points 57

Adb shell am start -a Android.settings.BLUETOOTH_SETTINGS

2voto

x0a Points 127

Si vous souhaitez ouvrir la boîte de dialogue de numérisation (sans quitter votre application).

    Intent bluetoothPicker = new Intent("android.bluetooth.devicepicker.action.LAUNCH");
    startActivity(bluetoothPicker);

BluetoothScanDialog

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X