54 votes

Erreur de vérification de l'activation de Bluetooth dans Android (REQUEST_ENABLE_BT ne peut être résolu en variable)

J'essaie 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 être résolu en une variable

Comment puis-je le réparer ?

120voto

DeeV Points 16141

REQUEST_ENABLE_BT est un code de demande que vous fournissez. C'est vraiment juste un numéro que vous fournissez pour onActivityResult . Ce sera le requestCode (premier paramètre) de onActivityResult lorsque l'activité reprend. Vous pouvez mettre le nombre que vous voulez tant qu'il est 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;

7voto

Soundararajan Points 578

El document dit La constante REQUEST_ENABLE_BT transmise à startActivityForResult() est un nombre 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.

Vous pouvez y passer n'importe quelle valeur entière > 0.

-9voto

Cenk Points 1

Surcharger la méthode startActivityForResult comme ci-dessous.

private void startActivityForResult(Intent enableBtIntent,Object rEQUEST_ENABLE_BT2) {
}

6 votes

Je suis surpris que cette réponse n'ait pas un -100 car elle est incorrecte du début à la fin. 1) Vous ne pouvez pas remplacer une méthode par une signature différente (sauf pour les sous-types covariants). 2) On ne peut pas surcharger une méthode en réduisant son niveau d'accès. 3) Vous n'avez donné aucune indication sur ce que devrait contenir cette nouvelle méthode et pourquoi elle est nécessaire. 4) L'ajout d'une méthode différente n'aide pas à répondre à la question de savoir à quoi devrait servir le paramètre de la méthode existante. 5) changer le nom d'un paramètre n'affecte pas sa fonction 6) votre ALL_CAPS mélangé avec camelCase est très étrange. Ouf.

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