1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package net.sf.bluecove.se;
26
27 import java.io.IOException;
28
29 import javax.bluetooth.BluetoothStateException;
30 import javax.bluetooth.DiscoveryAgent;
31 import javax.bluetooth.LocalDevice;
32 import javax.bluetooth.RemoteDevice;
33
34 import org.bluecove.tester.log.Logger;
35
36
37
38
39
40 public class RemoteDeviceManager {
41
42 public static void retrieveDevices(int option) {
43 try {
44 DiscoveryAgent discoveryAgent = LocalDevice.getLocalDevice().getDiscoveryAgent();
45 RemoteDevice[] devices = discoveryAgent.retrieveDevices(option);
46 String optStr = "";
47 switch (option) {
48 case DiscoveryAgent.CACHED:
49 optStr = "CACHED";
50 break;
51 case DiscoveryAgent.PREKNOWN:
52 optStr = "PREKNOWN";
53 break;
54 }
55 if (devices == null) {
56 Logger.debug("no devices meet the " + optStr + " criteria");
57 return;
58 }
59 Logger.debug("-- List of " + optStr + " remote devices");
60 for (int i = 0; i < devices.length; i++) {
61 StringBuffer b = new StringBuffer();
62 b.append(devices[i].getBluetoothAddress()).append(' ');
63 boolean trusted = devices[i].isTrustedDevice();
64 b.append("Trusted:").append(trusted).append(' ');
65
66 if (trusted) {
67 b.append(' ');
68 }
69 boolean authenticated = devices[i].isAuthenticated();
70 b.append("Authenticated:").append(authenticated).append(' ');
71
72 if (authenticated) {
73 b.append(' ');
74 }
75 try {
76 b.append(devices[i].getFriendlyName(false));
77 } catch (IOException e) {
78 }
79 Logger.debug(b.toString());
80 }
81
82 } catch (BluetoothStateException e) {
83 Logger.error("retrieve", e);
84 }
85
86 }
87 }