Developpez.com - Rubrique Android

Le Club des Développeurs et IT Pro

Utilisation du NFC pour établir une connexion Bluetooth sous Android

Par Sylvain Berfini

Le 2011-03-28 11:41:59, par Viish, Rédacteur
ttp://sberfini.developpez.com/tutoriaux/android/nfc/bluetooth" target="_blank">Cet article a pour but d'utiliser le capteur NFC présent sur certains AndroPhones afin de permettre à deux terminaux équipés d'établir une connexion Bluetooth sans faire intervenir l'utilisateur.
  Discussion forum
1 commentaire
  • antoine-renard
    Membre habitué
    Bonjour,

    Tout d'abord merci pour cet article très intéressant
    En fait je ne suis initialement pas à la recherche de doc

    sur NFC mais plutôt sur le mode de connexion non sécurisé

    Bluetooth.
    Parce que je dispose de deux terminaux sous 2.2.1, mais aussi parce que je souhaite développer une application compatible avec des versions Android un peu plus anciennes que la derniere ajoutant le support Bluetooth Insecure, j'ai appliqué la méthode décrite dans l'article ci-dessous à mon cas. En fait les méthodes bluetooth Insecure étaient bien là dans les versions précédentes d'android, mais masquées.

    Un peu d'utilisation de la reflection et hop.

    http://mobisocial.stanford.edu/news/2011/03/bluetooth-reflection-and-legacy-nfc/

    Basiquement, mon objectif est de pouvoir effectuer un échange bluetooth entre deux terminaux qui ne se connaissent pas et qui ne sont pas pairés, en utilisant les méthode Bluetooth Insecure. Mon objectif est que cela soit totalement transparent pour l'utilisateur, et qu'il n'ait pas à confirmer le pairing du tout.

    Pour des raisons internes dues au fonctionnement de mon application, cela ne pose pas de souci de sécurité (je ne souhaite d'ailleurs pas que mon post se transforme en thread concernant le fait que ce soit safe ou non de faire ça - je souhaite juste le faire :O)

    Je parviens donc à priori a utiliser le mode non sécurisé via la reflection malgré le fait que mon terminal soit en 2.2.1,

    MAIS

    lorsque je connecte le client au serveur, un popup apparait sur les deux terminaux demandant de confirmer le pairing (ID de 6 digits généré identique sur les deux terminaux).

    J'avais cru comprendre qu'utiliser le mode Insecure permettait de s'affranchir complètement de toute interaction avec l'utilisateur : ais-je mal compris ? est-ce du au fait que j'utilise la reflection pour accéder à ces méthodes insecure dont l'implémentation à changé depuis ?

    PS : je n'ai pas pu tester mon code sur Android 2.3.3

    Toute aide sera la bienvenue

    D'avance merci, bonne continuation et bon code à tous
    Antoine