我正在尝试找到可用的蓝牙设备。
这是我的OnClickListener,在用户尝试搜索可用设备时调用。
View.OnClickListener OnSearchDevices = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//Toast.makeText(context, "Search Devices", Toast.LENGTH_LONG).show();
Log.d("Discovery", "Started");
listOfDevices.clear();
label.setText("Searching Available Devices...");
label.setEnabled(false);
}
};
我还注册了BroadcastReceiver。
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Log.d("DeviceList" , device.getName() + "\n" + device.getAddress());
MyBluetoothDevice tempDevice = new MyBluetoothDevice();
tempDevice.setDeviceAddress(device.getAddress());
tempDevice.setDeviceName(device.getName());
listOfDevices.add(tempDevice);
mListAdapter.notifyDataSetChanged();
// discovery is finished
}
else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
Log.d("Discovery","Finished");
label.setEnabled(true);
if(listOfDevices.size() == 0)
{
label.setText("No Devices Available!");
label.setTextColor(Color.parseColor("#FF0000"));
}
else
{
label.setText("Available Devices");
}
}
}
};
但没有任何反应。它没有显示任何东西。请帮忙。
答案 0 :(得分:5)
您似乎错过了对 mBluetoothAdapter.startDiscovery()
的调用。
这可以解释为什么你没有得到任何结果,因为适配器甚至没有开始搜索设备。
否则你的代码看起来不错。