Après quelques recherches, je peux seulement dire ceci:
Motorola a face avec Broadcom pour développer une API propriétaire. Il semblerait qu'il est extrêmement limitée, qu'il s'états il y a le support pour les profils existants seulement. Check it out ici.
Samsung ne fournit aucune information concernant sa BLE de l'API, qui je peux vérifier existe et est appelé samsung.bluetoothle. J'ai effectivement décompilé certaines applications de Google Play qui utilisent le SGSIII du BLE capacités et trouvé un couple de méthodes qui n'existent pas dans Android natif de BT API, et ils sont des noms d'indiquer clairement qu'ils sont BLE liés. J'ai essayé de les utiliser par le biais de réflexion java et je suis actuellement en train de travailler sur la possibilité de développement d'une bibliothèque. Mais les tests que j'ai rencontré jusqu'à présent ont eu shakey résultats, au mieux. Il y a aussi un fil sur Samsung developer forum, je suggère de faire un peu de pression ici si vous êtes intéressé.
Google n'a fait presque aucun des remarques sur cet aspect. Il y a un thread concernant cette question dans le Galaxy Nexus, qui vous devriez étoiles, avec beaucoup de gens se plaindre. La chose la plus proche à une réponse de Google peut être trouvé ici.
[Mise à JOUR]
Samsung a également modifié un couple de Android classes, plus especifically:
BluetoothAdapter
BluetoothDevice
[Mise à JOUR]
Depuis que j'ai mis cette question de côté pour un certain temps en raison du manque de soutien de Google et Samsung, je vais poster ce que j'ai appris jusqu'à maintenant:
BluetoothAdapter
nouvelles méthodes:
public boolean android.bluetooth.BluetoothAdapter.leTestEnd()
public boolean android.bluetooth.BluetoothAdapter.setAvStreaming(boolean)
public boolean android.bluetooth.BluetoothAdapter.setScanLE(boolean)
public void android.bluetooth.BluetoothAdapter.setScoPathChange(int)
public boolean android.bluetooth.BluetoothAdapter.startLeDiscovery()
Pour les utiliser, procédez de la manière suivante:
BluetoothAdapter ba = new BluetoothAdapter();
Method starteLeDiscoveryMethod = null;
starteLeDiscoveryMethod = ba.class.getMethod("startLeDiscovery");
starteLeDiscoveryMethod.invoke(ba);
REMARQUE: Cette méthode en particulier fonctionne un peu comme la régulière, startDiscovery()
méthode, mais, au moins pour moi, elle découvre le BLE appareil 2 fois sur 5.
Et rappelez-vous, ce n'est que pour le SGSIII. Je n'ai pas eu l'occasion de l'extraction de nouvelles méthodes dans BluetoothDevice
mais quand je le fais, je vais les poster ici.