我编写了一个代码,它应该发现蓝牙设备并将其写入文本文件。但是在写入文本文件时,只写入最后找到的设备,其余的将被忽略。
例如,我的设备发现“abcd”、“efgh”和“ijkl”蓝牙设备,只有“ijkl”被写入文本文件。
如何将所有发现的设备写入文本文件?
下面是我的广播接收器的代码
private final BroadcastReceiver bcReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)){
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
deviceName = device.getName();
try{
File root = new File(Environment.getExternalStorageDirectory(), "Folder");
if(!root.exists()){
root.mkdirs();
}
File deviceFiles = new File(root, "File");
FileWriter writer = new FileWriter(deviceFiles);
writer.append(deviceName);
writer.flush();
writer.close();
}catch(IOException e){
e.printStackTrace();
}
btArrayAdapter.add(deviceName);
}
}
};