Android 開発者 Web サイトのコードを使用して範囲内の Bluetooth デバイスを検出し、それらを ArrayAdapter に追加しています。問題は、各デバイスが ArrayAdapter に 5 ~ 6 回追加されることです。今のところ、ここのコードを使用しています: http://developer.android.com/guide/topics/connectivity/bluetooth.html#DiscoveringDevices
ここに私が持っているものがあります:
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mBluetoothAdapter.startDiscovery();
final BroadcastReceiver mReceiver = new BroadcastReceiver() {
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);
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
これの原因は何ですか?デバイスを ArrayAdapter に 5 回ではなく 1 回だけ追加するにはどうすればよいですか?