2014-10-30 2 views
8

В настройке P2P я понимаю, как получить другое имя устройства, но как мне получить имя моего собственного устройства? (тот, который отображается в настройках WiFi).Android: Как получить текущее имя устройства WiFi-

Я проверил WiFiManager, WiFiInfo и другие, не добившись успеха.

+0

Можете ли вы изменить свой вопрос и показать коды? – Raptor

+0

Не уверен, что добавить ... все, что я хочу сделать, - это получить имя устройства, аналогичное Bluetooth, где вы бы назвали 'BluetoothAdapter.getDefaultAdapter(). GetName()' –

+0

'WifiP2pDevice.deviceName'? См. [This] (http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html) – Raptor

ответ

0

Попробуйте этот код:

public static String getHostName(String defValue) { 
    try { 
     Method getString = Build.class.getDeclaredMethod("getString", String.class); 
     getString.setAccessible(true); 
     return getString.invoke(null, "net.hostname").toString(); 
    } catch (Exception ex) { 
     return defValue; 
    } 
} 
+1

. Вы должны объяснить свои коды. – Raptor

10

После включения Wi-Fi на устройстве, то есть отправить WIFI_P2P_THIS_DEVICE_CHANGED_ACTION трансляцию. Вы можете поймать это с помощью широковещательного приемника, и вы можете получить объект WifiP2pDevice, то есть ваше устройство.

@Override 
public void onReceive(Context context, Intent intent) { 
    WifiP2pDevice device = intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE); 
    String thisDeviceName = device.deviceName; 
} 
+1

Что делать, если Wi-Fi уже включен? –

+1

Вы получите этот звонок, когда вы зарегистрируетесь для WifiP2pBroadcastReceiver, неважно, если Wi-Fi уже включен. – Jonathan

+0

'device' равно нулю, поэтому получение' NullPointerException' – Touhid

Смежные вопросы