Получение модели устройства (а не имени устройства) от узла через Wi-Fi Peer2PeerAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Получение модели устройства (а не имени устройства) от узла через Wi-Fi Peer2Peer

Сообщение 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();
}
}
};


Подробнее здесь: https://stackoverflow.com/questions/787 ... -peer2peer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»