我的蓝牙应用程序意外关闭时遇到问题....
代码可以成功执行以下操作....
(1)获取蓝牙适配器 (2)启用蓝牙适配器
尝试查询配对设备时似乎出现问题....
问题似乎出现在代码块发生的代码的末尾....
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
// If there are paired devices
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
以下是完整的代码:
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
// If there are paired devices
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
答案 0 :(得分:1)
这看起来像Android docs。
中的代码您的应用程序中是否有一个具有列表视图且mArrayAdapter不为空的活动?
通过使用记录器函数Log.i()
或仅System.out
编写信息可能值得测试,以确保获得预期的输出。
如果失败,可能是没有蓝牙设备,或者mBluetoothAdapter为空或未启用导致应用程序强行关闭。
编辑:评论部分尝试格式化代码非常糟糕。你尝试过这样的事吗?
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
Log.i("BluetoothApp", device.getName() + "\n" + device.getAddress());
}
}
数据应出现在Eclipse的LogCat部分中。