2014-10-30 14 views
8

, nasıl başka cihazın adını almak anlıyorum, ama nasıl ben kendi cihazın adını alırım mevcut cihaz WiFi direkt adı alınır? (WiFi-doğrudan ayarları altında görüntülenir). Hiçbir başarı ile WiFiManager, WiFiInfo ve daha kontrol ettiktenAndroid: Nasıl bir P2P ayarında

.

cihazınızda wifi açtıktan sonra
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

Sorunuzu ve şov kodlarınızı düzenleyebilir misiniz? – Raptor

+0

eklemek için emin ne ... yapmak istediğim tüm 'BluetoothAdapter.getDefaultAdapter(). GetName()' –

+0

'WifiP2pDevice.deviceName' arayacağını nereye Bluetooth te, benzer cihazın adını erişmek mı? Bkz [bu] (http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html) – Raptor

cevap

0

bu kodu deneyin. Bunu bir yayın alıcısıyla yakalayabilir ve bir WifiP2pDevice nesnesi alabilirsiniz, bu sizin aygıtınız.

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

barındıran zaman yayınlanacak olan bir "uygulamaya özgü" Kablosuz Doğrudan şifreyi depolamak için seçti. – Raptor

10

, bir WIFI_P2P_THIS_DEVICE_CHANGED_ACTION yayın gönder geçerli:

+1

Eğer wifi zaten açık ise? –

+1

Bu çağrıyı, WifiP2pBroadcastReceiver için kayıt olduğunuzda alacaksınız, wifi zaten açık ise farketmez. – Jonathan

+0

'device' null, dolayısıyla NullPointerException' alınıyor – Touhid

İlgili konular