Android Отправка названий найденных bluetooth устройств на сервер
1,00
р.
р.
Есть необходимость отправить названия всех найденных bluetooth устройств на сервер. Данные в listadapter и listview, как из них отправить на сервер имена устройств в формате "BT_name 1, BT_name 2 ... и т.д". Код: public class SearchActivity extends ListActivity { private BluetoothAdapter bluetoothAdapter private BroadcastReceiver discoverDevicesReceiver private BroadcastReceiver discoveryFinishedReceiver private final List discoveredDevices = new ArrayList() private ArrayAdapter listAdapter private ProgressDialog progressDialog @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_search) bluetoothAdapter = BluetoothAdapter.getDefaultAdapter() listAdapter = new ArrayAdapter(getBaseContext(), android.R.layout.simple_list_item_1, discoveredDevices) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent) final BluetoothDevice device = getItem(position) ((TextView) view.findViewById(android.R.id.text1)).setText(device.getName()) return view } } setListAdapter(listAdapter) } public void discoverDevices(View view) { discoveredDevices.clear() listAdapter.notifyDataSetChanged() if (discoverDevicesReceiver == null) { discoverDevicesReceiver = 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) if (!discoveredDevices.contains(device)) { discoveredDevices.add(device) listAdapter.notifyDataSetChanged() } } } } } if (discoveryFinishedReceiver == null) { discoveryFinishedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { getListView().setEnabled(true) if (progressDialog != null) progressDialog.dismiss() unregisterReceiver(discoveryFinishedReceiver) } } } registerReceiver(discoverDevicesReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND)) registerReceiver(discoveryFinishedReceiver, new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)) getListView().setEnabled(false) progressDialog = ProgressDialog.show(this, "Поиск устройств", "Подождите...") bluetoothAdapter.startDiscovery() } @Override public void onPause() { super.onPause() bluetoothAdapter.cancelDiscovery() if (discoverDevicesReceiver != null) { try { unregisterReceiver(discoverDevicesReceiver) } catch (Exception e) { Log.d("SearchActivity", "Error turn off reciever: " + discoverDevicesReceiver) } } } } Мне нужно их отправить все разом, а не по одиночке. Как отправить я знаю, мне нужно сформировать формат по указанному выше шаблону из данных в listadapter'e.
Ответ У BluetoothDevice есть getName() Что вам еще нужно? StringBuilder deviceNames = new StringBuilder for(BluetoothDevice device: discoveredDevices) deviceNames.append(device.getName()+",")