IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Bluetooth visibilité permanente


Sujet :

API standards et tierces Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Bluetooth visibilité permanente
    Bonjour/Bonsoir,

    Comme l'indique le titre j'aimerai savoir s'il n y pas un moyen de rendre la visibilité Bluetooth permanente.
    D'après cette page http://developer.android.com/guide/t...bluetooth.html
    c'est possible en mettant EXTRA_DISCOVERABLE_DURATION à 0, mais lorsque j'essaie celà m'affiche la valeur par défaut (120 secs)
    J'ai aussi penser à activer la visibilité du bluetooth sans confirmation de l'utilisateur de façon périodique, mais de ce que j'ai lu ce n'est pas possible sans root malheuresement.

    Il n y a vraiment aucun moyen de faire?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Personne?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 64
    Points : 96
    Points
    96
    Par défaut
    Je peux te proposer une solution mais ce n'est peut-être pas très propre..
    - il est possible de recevoir l'état par BroadcastReceiver, ce qui fait que si l'état passe à OFF tu le mets à ON

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
     
        @Override
        public void onReceive(Context context, Intent intent) {
     
            int scanMode = intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE, 0);
            int scanModePrevious = intent.getIntExtra(
                    BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE, 0);
     
            if (scanMode == BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
                // est visible
            } else {
                //est non visible
                //réactivation
            }
        }
    };
    il faut bien sûr penser à enregistrer les actions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    IntentFilter intent = new IntentFilter();
    intent.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
    intent.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
    intent.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED); 
     
    registerReceiver(mReceiver, intent);
    et retirer l'enregistrement dans le onDestroy();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unregisterReceiver(mReceiver);
    Il y a certainement mieux comme façon de faire, mais ça doit marcher.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta réponse, mais je ne pense pas que cela corresponde à ce que je veux, ou alors j'ai mal compris. :/
    Tu me proposes une solution pour le scan, mais moi ce que je veux c'est rendre mon appareil visible par les autres, qu'ils soient déjà associés au mien ou non.


    (Et désolé pour la réponse tardive, j'étais très occupé la semaine dernière)

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 64
    Points : 96
    Points
    96
    Par défaut
    Bonjour.

    Ce que tu reçois dans le receiver est si tu es découvrable ou non ( quand ça change) :
    SCAN_MODE_CONNECTABLE_DISCOVERABLE indique si l'appareil est découvrable et connectable. du coup si intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE, 0) ne l'égal pas c'est que tu n'est pas découvrable, par conséquent il te suffit de réactiver via BluetoothAdapter.startDiscovery().

    Cette méthode n'est pas propre, EXTRA_DISCOVERABLE_DURATION est fait pour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
    discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
    startActivity(discoverableIntent);
    source : http://developer.android.com/guide/t...FindingDevices

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Oui mais startDiscovery() c'est pour faire un scan, pour avoir fait le test ça ne rend pas le téléphone découvrable pour autant. :/

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 64
    Points : 96
    Points
    96
    Par défaut
    J'ai vu qu'il existe une méthode protégée qui permet de rendre découvrable l'appareil. Il est donc possible de l'utiliser par reflexion. En continuant la recherche, je suis tombé sur un projet identique au tien. L'idée est de faire un service qui rend (re)découvrable le téléphone toutes les 100 secondes :

    https://github.com/markov00/Bluetoot...leService.java

    Normalement ça devrait résoudre ton problème.

    Bonne soirée.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci, mais malheuresement c'est seulement pour les appareils rootés.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Bon ben pas de solution apparemment.

    Sinon j'ai vu sur mon smartphone qu'il y avait une option pour dans les paramètre bluetooth. Est elle présente sur android de base? A défaut de pouvoir le faire directement depuis l'application je peux toujours rediriger l'utilisateur pour qu'il le fasse. :/

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    up.

Discussions similaires

  1. [FLASH MX2004] Mise en rotation permanente
    Par clad523 dans le forum Flash
    Réponses: 5
    Dernier message: 25/08/2004, 18h39
  2. Visibilité d'une variable
    Par nenoeil dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2004, 14h14
  3. visibilite de mon serveur sur internet
    Par jabaka dans le forum Apache
    Réponses: 9
    Dernier message: 03/05/2004, 14h22
  4. [PIC] Enregistrement de données permanentes
    Par Grulou dans le forum Autres architectures
    Réponses: 6
    Dernier message: 15/03/2004, 19h31
  5. [ActiveX] Visibilité d'une propriété
    Par paradise dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/11/2002, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo