Я успешно создал приложение для Android, способное обнаруживать узлы через узел Wi-Fi 2. Я обнаружил и запросил класс WifiP2Pdevicelist, и благодаря этому мне удалось получить значение PrimaryDeviceType. Однако мне нужна модель устройства узла. Есть ли способ преобразовать PrimaryDeviceType или получить модель устройства через Wi-Fi P2P?
Получил имя устройства, адрес устройства, PrimaryDeviceType и SecondaryDeviceType из класса WifiP2Pdevicelist, используемого для Wi-Fi P2P. Выходные данные имя_устройства — это имя Wi-Fi-direct, которое можно изменить. Мне еще предстоит подключиться к одноранговому узлу, поскольку все это делается с помощью методов requestPeer() и DiscoverPeer().
WifiManager wifi;
WifiP2pManager manager;
WifiP2pManager.Channel channel;
BroadcastReceiver receiver;
IntentFilter intentFilter;
ListView listView;
List peers = new ArrayList();
String[] deviceName, deviceType, deviceAddress;
WifiP2pDevice[] deviceArray;
public ArrayList wifiDeviceList = new ArrayList();
WifiP2pManager.PeerListListener peerListListener = new WifiP2pManager.PeerListListener() {
@Override
public void onPeersAvailable(WifiP2pDeviceList peersList) {
Toast.makeText(getApplicationContext(), "Peers available", Toast.LENGTH_SHORT).show();
if (!peersList.getDeviceList().equals(peers)) {
peers.clear();
peers.addAll(peersList.getDeviceList());
deviceName = new String[peersList.getDeviceList().size()];
deviceArray = new WifiP2pDevice[peersList.getDeviceList().size()];
for (WifiP2pDevice device : peersList.getDeviceList()) {
listView.clearChoices();
wifiDeviceList.add(device);
}
ArrayAdapter mAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, wifiDeviceList) {
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
Toast.makeText(getApplicationContext(), "No Devices Found", Toast.LENGTH_SHORT).show();
TextView view = (TextView) super.getView(position, convertView, parent);
// Replace text with my own
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return view;
}
view.setText("Device name: " + wifiDeviceList.get(position).deviceName + "\n" + "Device address: " + wifiDeviceList.get(position).deviceAddress + "\n" + "Device type: " + wifiDeviceList.get(position).primaryDeviceType);
return view;
}
};
listView.setAdapter(mAdapter);
listView.deferNotifyDataSetChanged();
}
else {
Toast.makeText(getApplicationContext(), "No peers found", Toast.LENGTH_SHORT).show();
}
}
};
Подробнее здесь: https://stackoverflow.com/questions/787 ... -peer2peer
Получение модели устройства (а не имени устройства) от узла через Wi-Fi Peer2Peer ⇐ Android
Форум для тех, кто программирует под Android
1720384659
Anonymous
Я успешно создал приложение для Android, способное обнаруживать узлы через узел Wi-Fi 2. Я обнаружил и запросил класс WifiP2Pdevicelist, и благодаря этому мне удалось получить значение PrimaryDeviceType. Однако мне нужна модель устройства узла. Есть ли способ преобразовать PrimaryDeviceType или получить модель устройства через Wi-Fi P2P?
Получил имя устройства, адрес устройства, PrimaryDeviceType и SecondaryDeviceType из класса WifiP2Pdevicelist, используемого для Wi-Fi P2P. Выходные данные имя_устройства — это имя Wi-Fi-direct, которое можно изменить. Мне еще предстоит подключиться к одноранговому узлу, поскольку все это делается с помощью методов requestPeer() и DiscoverPeer().
WifiManager wifi;
WifiP2pManager manager;
WifiP2pManager.Channel channel;
BroadcastReceiver receiver;
IntentFilter intentFilter;
ListView listView;
List peers = new ArrayList();
String[] deviceName, deviceType, deviceAddress;
WifiP2pDevice[] deviceArray;
public ArrayList wifiDeviceList = new ArrayList();
WifiP2pManager.PeerListListener peerListListener = new WifiP2pManager.PeerListListener() {
@Override
public void onPeersAvailable(WifiP2pDeviceList peersList) {
Toast.makeText(getApplicationContext(), "Peers available", Toast.LENGTH_SHORT).show();
if (!peersList.getDeviceList().equals(peers)) {
peers.clear();
peers.addAll(peersList.getDeviceList());
deviceName = new String[peersList.getDeviceList().size()];
deviceArray = new WifiP2pDevice[peersList.getDeviceList().size()];
for (WifiP2pDevice device : peersList.getDeviceList()) {
listView.clearChoices();
wifiDeviceList.add(device);
}
ArrayAdapter mAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, wifiDeviceList) {
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
Toast.makeText(getApplicationContext(), "No Devices Found", Toast.LENGTH_SHORT).show();
TextView view = (TextView) super.getView(position, convertView, parent);
// Replace text with my own
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return view;
}
view.setText("Device name: " + wifiDeviceList.get(position).deviceName + "\n" + "Device address: " + wifiDeviceList.get(position).deviceAddress + "\n" + "Device type: " + wifiDeviceList.get(position).primaryDeviceType);
return view;
}
};
listView.setAdapter(mAdapter);
listView.deferNotifyDataSetChanged();
}
else {
Toast.makeText(getApplicationContext(), "No peers found", Toast.LENGTH_SHORT).show();
}
}
};
Подробнее здесь: [url]https://stackoverflow.com/questions/78718377/getting-device-model-not-device-name-from-peer-through-wifi-peer2peer[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия