J'essaie d'imprimer sur une imprimante HP DeskJet 450wbt à partir de mon téléphone T-Mobile Pulse Mini, en utilisant l'API Android Bluetooth. Le code est comme indiqué ci-dessous. La connexion échoue avec "Échec de la découverte du service". Si j'essaie la méthode alternative de création d'une socket mentionnée dans un certain nombre d'autres threads, j'obtiens "Host is down" à la place.Impression Bluetooth sur Android
Je pense que l'UUID pour BPP est correct, mais je ne suis pas sûr. L'imprimante est un appareil couplé et elle est allumée. Je ne trouve pas de pilote USB pour mon téléphone (un Huawei 8110 badgé), donc je n'ai pas pu déboguer sur l'appareil, ou regarder un journal. Je suis coincé à ce stade, et je serais reconnaissant pour tout conseil.
Voici un résumé de mon code:
final String UUID_BPP = "00001122-0000-1000-8000-00805F9B34FB";
final String printerName = "dj450 S/N SG..."; // name of paired printer
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
return 2; // phone does not support Bluetooth
}
if (!bluetoothAdapter.isEnabled()) {
return 3; // Bluetooth has not been enabled
}
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
// Loop through paired devices
BluetoothDevice printer = null;
for (BluetoothDevice device : pairedDevices) {
String s = device.getName();
if (s.equals(printerName)) {
printer = device;
break;
}
}
if (printer == null)
return 4; // Paired printer not found
// create socket
UUID BPP = UUID.fromString(UUID_BPP);
BluetoothSocket socket;
try {
socket = printer.createRfcommSocketToServiceRecord(BPP);
} catch (IOException e) {
return 5; // Unable to create socket
}
/*
try {
Method m = printer.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });
socket = (BluetoothSocket) m.invoke(printer, 1);
} catch (Exception e1) {
return 5; // Unable to create socket
}
*/
try {
socket.connect();
} catch (IOException e) {
return 6; // Unable to connect socket
}
Bien que j'ai fait chou blanc sur cette question. J'ai réussi à imprimer sur des imprimantes Wi-Fi, sans utiliser de logiciel tiers. –