web-dev-qa-db-fra.com

Erreur lors de la vérification si Bluetooth est activé dans Android (REQUEST_ENABLE_BT ne peut pas être résolu en une variable)

J'essaye de faire ça:

    BluetoothAdapter bt = BluetoothAdapter.getDefaultAdapter();
    if (bt == null){
        //Does not support Bluetooth
        status.setText("Your device does not support Bluetooth");
    }else{
        //Magic starts. Let's check if it's enabled
        if (!bt.isEnabled()){
            Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableIntent, REQUEST_ENABLE_BT);
        }   
    }

Mais je reçois cette erreur:

REQUEST_ENABLE_BT ne peut pas être résolu en une variable

Comment puis-je le réparer?

46
Sergio Juan

REQUEST_ENABLE_BT est un code de demande que vous fournissez. C'est vraiment juste un nombre que vous fournissez pour onActivityResult. Ce sera le requestCode (premier paramètre) de onActivityResult au retour de l'activité. Vous pouvez mettre n'importe quel nombre à condition qu'il soit cohérent dans la méthode de retour.

En d'autres termes, mettez une ligne comme celle-ci en haut de votre activité:

private final static int REQUEST_ENABLE_BT = 1;

101
DeeV

Le document indique La constante REQUEST_ENABLE_BT passée à startActivityForResult () est un entier défini localement (qui doit être supérieur à 0), que le système vous renvoie dans votre implémentation onActivityResult () en tant que paramètre requestCode.

4
Soundararajan