2014-10-30 4 views
8

P2P 설정에서 다른 기기의 이름을 가져 오는 방법을 알지만 내 기기의 이름은 어떻게 얻습니까? (WiFi-direct 설정에서 표시되는 설정).Android : 현재 기기를 가져 오는 방법 WiFi 직접 이름

나는 WiFiManager, WiFiInfo 등을 확인했으며 더 이상 성공하지 못했습니다.

당신이 당신의 장치에서 무선 랜 설정 한 후
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; 
    } 
} 
+0

질문 및 쇼 코드를 편집 할 수 있습니까? – Raptor

+0

내가 무엇을 추가해야할지 모르겠다. 'BluetoothAdapter.getDefaultAdapter(). getName()'이라고 부르는 블루투스와 비슷하게 기기 이름에 액세스하고 싶습니다. –

+0

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

답변

0

이 코드를 사용해보십시오. 브로드 캐스트 리시버로 이것을 포착 할 수 있으며 장치 인 WifiP2pDevice 개체를 얻을 수 있습니다.

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

코드를 설명해야합니다. – Raptor

10

, 그것은 WIFI_P2P_THIS_DEVICE_CHANGED_ACTION 방송을 보낼 수 있습니다 :

+1

Wi-Fi가 이미 켜져 있으면 어떻게 될까요? –

+1

WifiP2pBroadcastReceiver에 등록 할 때이 전화를 받게됩니다. wifi가 이미 켜져 있더라도 상관 없습니다. – Jonathan

+0

'device'는 널이어서'NullPointerException'을 얻습니다. – Touhid