Android:如何获取当前设备的WiFi直接名称

Dai*_*run 9 android wifi device-name wifi-direct

在P2P设置中,我了解如何获取其他设备的名称,但如何获取自己设备的名称?(在设置中以WiFi-direct显示的那个).

我已经检查过WiFiManager,WiFiInfo而且没有成功.

小智 13

在您的设备上打开wifi后,它会发送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;
 }
Run Code Online (Sandbox Code Playgroud)


sam*_*sad 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;
    }
}
Run Code Online (Sandbox Code Playgroud)