📄 devicediscoverer.java
字号:
import javax.bluetooth.*;
import java.util.*;
/**
*
* <p>Title: DeviceDiscoverer.java</p>
*
* <p>Description: A handly utility class used by BluetoothProbeMidlet used
* to discover Bluetooth devices in the area.</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>By: Bruce Hopkins</p>
*
* @version 1.0
*/
public class DeviceDiscoverer implements DiscoveryListener {
BluetoothProbeMidlet midlet;
Vector remoteDevices = new Vector();
DiscoveryAgent discoveryAgent;
/**
* A simple constructor that starts the Bluetooth device discovery
* process according the JSR-82 API. In order for remote Bluetooth
* devices to be found, then each Bluetooth device must be in
* "discoverable" mode.
* @param midlet BluetoothProbeMidlet
*/
public DeviceDiscoverer(BluetoothProbeMidlet midlet) {
this.midlet = midlet;
try {
LocalDevice localDevice = LocalDevice.getLocalDevice();
discoveryAgent = localDevice.getDiscoveryAgent();
midlet.updateStatus("Searching for Bluetooth devices in the vicinity...\n");
discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* This method is called each time when a remote Bluetooth device
* has been discovered.
* @param remoteDevice RemoteDevice
* @param cod DeviceClass
*/
public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) {
try{
remoteDevices.addElement(remoteDevice);
midlet.updateStatus(" found: " + remoteDevice.getFriendlyName(true) );
} catch(Exception e){
e.printStackTrace();
}
}
/**
* This method is called when the Bluetooth device discovery process
* has ended.
* @param discType int
*/
public void inquiryCompleted(int discType) {
String inqStatus = null;
if (discType == DiscoveryListener.INQUIRY_COMPLETED) {
inqStatus = " \nInquiry completed";
} else if (discType == DiscoveryListener.INQUIRY_TERMINATED) {
inqStatus = "\nInquiry terminated";
} else if (discType == DiscoveryListener.INQUIRY_ERROR) {
inqStatus = "\nInquiry error";
}
midlet.updateStatus(inqStatus);
midlet.form.addCommand(midlet.serviceSearchCommand);
midlet.updateStatus("\nClick on the Search button to search for the all services available");
}
/**
* This method is not used, but any implementation of DiscoveryListerer.java
* must include these methods
* @param transID int
* @param servRecord ServiceRecord[]
*/
public void servicesDiscovered(int transID, ServiceRecord[] servRecord){}
/**
* This method is not used, but any implementation of DiscoveryListerer.java
* must include these methods
* @param transID int
* @param servRecord ServiceRecord[]
*/
public void serviceSearchCompleted(int transID, int respCode) {}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -