Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
403 | ligi | 1 | /*************************************** |
2 | * |
||
3 | * searches 4 Bluetooth Devices |
||
4 | * |
||
5 | * Author: Marcus -LiGi- Bueschleb |
||
6 | * |
||
7 | * see README for further Infos |
||
8 | * |
||
9 | ****************************************/ |
||
181 | ligi | 10 | |
11 | import javax.bluetooth.*; |
||
12 | |||
13 | public class BTSearcher |
||
14 | implements DiscoveryListener |
||
15 | |||
16 | { |
||
17 | private LocalDevice m_LclDevice = null; |
||
18 | private DiscoveryAgent m_DscrAgent=null; |
||
19 | |||
20 | |||
21 | |||
22 | public boolean searching=true; |
||
23 | public boolean error=false; |
||
24 | public String err_log="none"; |
||
25 | |||
26 | |||
27 | public final int MAX_DEVICES=10; |
||
28 | |||
231 | ligi | 29 | public RemoteDevice[] remote_devices; |
181 | ligi | 30 | public int remote_device_count=0; |
31 | public String[] remote_device_name; |
||
32 | public String[] remote_device_mac; |
||
33 | |||
34 | |||
35 | public BTSearcher() |
||
36 | { |
||
37 | |||
231 | ligi | 38 | remote_devices=new RemoteDevice[MAX_DEVICES]; |
181 | ligi | 39 | remote_device_name=new String[MAX_DEVICES]; |
40 | remote_device_mac=new String[MAX_DEVICES]; |
||
41 | |||
231 | ligi | 42 | remote_device_count=0; |
303 | ligi | 43 | |
44 | } |
||
45 | |||
46 | public void search() |
||
47 | { |
||
48 | searching=true; |
||
49 | remote_device_count=0; |
||
181 | ligi | 50 | try |
51 | { |
||
52 | //First get the local device and obtain the discovery agent. |
||
53 | m_LclDevice = LocalDevice.getLocalDevice(); |
||
54 | m_DscrAgent= m_LclDevice.getDiscoveryAgent(); |
||
55 | |||
231 | ligi | 56 | m_DscrAgent.startInquiry(DiscoveryAgent.GIAC,this); |
181 | ligi | 57 | } |
58 | catch (BluetoothStateException ex) |
||
59 | { |
||
60 | error=true; |
||
61 | err_log+="Problem in searching the blue tooth devices\n" + ex; |
||
62 | |||
63 | } |
||
303 | ligi | 64 | |
181 | ligi | 65 | } |
66 | |||
67 | public void inquiryCompleted(int transID) { |
||
68 | |||
231 | ligi | 69 | try { |
70 | for(int i=0;i<remote_device_count;i++) |
||
71 | { |
||
72 | remote_device_name[i]=remote_devices[i].getFriendlyName(true); |
||
73 | remote_device_mac[i]=remote_devices[i].getBluetoothAddress(); |
||
181 | ligi | 74 | |
231 | ligi | 75 | } |
76 | } |
||
77 | catch (Exception e) |
||
78 | { |
||
79 | err_log+="Problem in searching the blue tooth devices"; |
||
80 | } |
||
181 | ligi | 81 | searching=false; |
82 | } |
||
83 | |||
84 | |||
231 | ligi | 85 | public void search_again() |
86 | { |
||
87 | } |
||
88 | |||
181 | ligi | 89 | //Called when device is found during inquiry |
90 | public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) |
||
91 | { |
||
92 | try |
||
93 | { |
||
94 | if (remote_device_count!=(MAX_DEVICES-1)) |
||
95 | { |
||
231 | ligi | 96 | remote_devices[remote_device_count]=btDevice; |
181 | ligi | 97 | remote_device_count++; |
98 | } |
||
99 | } |
||
100 | catch (Exception e) |
||
101 | { |
||
102 | err_log+=("Device Discovered Error: " + e); |
||
103 | } |
||
104 | |||
105 | } |
||
106 | |||
107 | |||
108 | public void serviceSearchCompleted(int transID, int respCode) |
||
109 | { } |
||
110 | |||
111 | public void servicesDiscovered(int transID, ServiceRecord[] records) |
||
112 | { } |
||
113 | |||
114 | |||
115 | |||
116 | } |