这是我程序的2个部分
1。
Set<BluetoothDevice> pairedDevices;
BluetoothDevice[] pairedDevicesArray;
2。
pairedDevices = btAdapter.getBondedDevices();
//pairedDevicesArray = (BluetoothDevice[]) pairedDevices.toArray();
问题在于注释行。取消注释会使我的应用停止。是否不可能将上述
Set
转换为array
,以便我可以随机访问BluetoothDevice
中的array
对象。Java和android的新手
更新:使用
pairedDevicesArray = pairedDevices.toArray(new BluetoothDevice[0]);
代替上面的注释行可以解决问题,有什么区别? 最佳答案
您可以尝试将Set
内容作为数组获取。您需要检查返回的getBondedDevices
值是否为非空。根据文档,如果出现错误,BluetoothAdapter.getBondedDevices()
可以返回null
。
pairedDevices = btAdapter.getBondedDevices();
if(null != pairedDevices){
pairedDevicesArray = (BluetoothDevice[]) pairedDevices.toArray();
}
关于android - 将Set <BluetoothDevice>转换为BluetoothDevice [],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14869618/