コード例 #1
0
        protected string GetWiFiMac()
        {
            Android.Net.Wifi.WifiManager wifiManager = GetSystemService <Android.Net.Wifi.WifiManager>(Android.Content.Context.WifiService);
            string mac = wifiManager.ConnectionInfo.MacAddress;

            return(mac.Replace(":", ""));
        }
コード例 #2
0
        /// <summary>
        /// Gets my local IPv4 address (not necessarily external) and subnet mask
        /// </summary>
        public static IPAddress GetMyAddress(out IPAddress mask)
        {
            mask = null;
            try
            {
                Android.Net.Wifi.WifiManager wifi = (Android.Net.Wifi.WifiManager)Android.App.Application.Context.GetSystemService(Android.App.Activity.WifiService);
                if (!wifi.IsWifiEnabled)
                {
                    return(null);
                }

                var    dhcp  = wifi.DhcpInfo;
                int    addr  = dhcp.IpAddress;
                byte[] quads = new byte[4];
                for (int k = 0; k < 4; k++)
                {
                    quads[k] = (byte)((addr >> k * 8) & 0xFF);
                }
                return(new IPAddress(quads));
            }
            catch             // Catch Access Denied errors
            {
                return(null);
            }
        }
コード例 #3
0
        /// <summary>
        /// Gets my local IP address (not necessarily external) and subnet mask
        /// </summary>
        public static IPAddress GetMyAddress(out IPAddress mask)
        {
            mask = null;
#if ANDROID
            try
            {
                Android.Net.Wifi.WifiManager wifi = (Android.Net.Wifi.WifiManager)Android.App.Application.Context.GetSystemService(Android.App.Activity.WifiService);
                if (!wifi.IsWifiEnabled)
                {
                    return(null);
                }
                var dhcp = wifi.DhcpInfo;

                int    addr  = dhcp.IpAddress;
                byte[] quads = new byte[4];
                for (int k = 0; k < 4; k++)
                {
                    quads[k] = (byte)((addr >> k * 8) & 0xFF);
                }
                return(new IPAddress(quads));
            }
            catch             // Catch Access Denied errors
            {
                return(null);
            }
#endif
#if IS_FULL_NET_AVAILABLE
            NetworkInterface ni = GetNetworkInterface();
            if (ni == null)
            {
                mask = null;
                return(null);
            }

            IPInterfaceProperties properties = ni.GetIPProperties();
            foreach (UnicastIPAddressInformation unicastAddress in properties.UnicastAddresses)
            {
                if (unicastAddress != null && unicastAddress.Address != null && unicastAddress.Address.AddressFamily == AddressFamily.InterNetwork)
                {
#if !MONOMAC
                    mask = unicastAddress.IPv4Mask;
#endif
                    return(unicastAddress.Address);
                }
            }
#endif
            return(null);
        }
コード例 #4
0
        public static bool CheckWifiOnAndConnected(Android.Net.Wifi.WifiManager wifiManager)
        {
            if (wifiManager.IsWifiEnabled)
            {
                Android.Net.Wifi.WifiInfo wifiInfo = wifiManager.ConnectionInfo;

                if (wifiInfo.NetworkId == -1)
                {
                    return(false);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #5
0
        public void Setup()
        {
            Android.Net.Wifi.WifiManager wifi = GetSystemService(Android.Content.Context.WifiService) as Android.Net.Wifi.WifiManager;

            _lock = wifi.CreateMulticastLock("mylockthereturn");
            _lock.SetReferenceCounted(true);
            _lock.Acquire();
            try
            {
                _jmdns    = JmDNS.Create();
                _listener = new MyServiceListener(this);
                _jmdns.AddServiceListener(_type, _listener);
                _serviceInfo = ServiceInfo.Create("_test._tcp.local.", "AndroidTest", 0, "plain test service from android");
                _jmdns.RegisterService(_serviceInfo);
            }
            catch (IOException e)
            {
                e.PrintStackTrace();
                return;
            }
        }
コード例 #6
0
ファイル: MainActivity.cs プロジェクト: dev-git/Get.Location
        private String GetMACAddress()
        {
            // http://www.technetexperts.com/mobile/getting-unique-device-id-of-an-android-smartphone/
            String macAddress = "00-00-00-00-00-01";

            try
            {
                //WLAN MAC Address
                Android.Net.Wifi.WifiManager wifiManager = (Android.Net.Wifi.WifiManager)GetSystemService(Android.Content.Context.WifiService);

                macAddress = wifiManager.ConnectionInfo.MacAddress;
                if (String.IsNullOrEmpty(macAddress))
                {
                    macAddress = "00-00-00-00-01-A1";
                }
            }
            catch (Exception ex)
            {
                macAddress = "00-00-00-00-00-A1";
            }

            return(macAddress);
        }
コード例 #7
0
ファイル: MainActivity.cs プロジェクト: dev-git/MyLocation
        private String GetMACAddress()
        {
            // http://www.technetexperts.com/mobile/getting-unique-device-id-of-an-android-smartphone/
            String macAddress = "00-00-00-00-00-01";

            try
            {
                //WLAN MAC Address
                Android.Net.Wifi.WifiManager wifiManager = (Android.Net.Wifi.WifiManager)GetSystemService(Android.Content.Context.WifiService);

                macAddress = wifiManager.ConnectionInfo.MacAddress;
                if (String.IsNullOrEmpty(macAddress))
                {
                    macAddress = "00-00-00-00-01-A1";
                }
            }
            catch (Exception ex)
            {
                macAddress = "00-00-00-00-00-A1";
                //Log.Error("MainActivity", "There is a problem with Google Play Services on this device: {0} - {1}", ex.ToString());
            }

            return(macAddress);
        }
コード例 #8
0
 public ConnectParameterType(Android.Net.ConnectivityManager connectivityManager, Android.Net.Wifi.WifiManager wifiManager)
 {
     ConnectivityManager = connectivityManager;
     WifiManager         = wifiManager;
 }
コード例 #9
0
ファイル: NetUtility.cs プロジェクト: elisee/Lidgren
        /// <summary>
        /// Gets the local broadcast address
        /// </summary>
        public static IPAddress GetBroadcastAddress()
        {
#if __ANDROID__
            try{
                Android.Net.Wifi.WifiManager wifi = (Android.Net.Wifi.WifiManager)Android.App.Application.Context.GetSystemService(Android.App.Activity.WifiService);
                if (wifi.IsWifiEnabled)
                {
                    var dhcp = wifi.DhcpInfo;

                    int    broadcast = (dhcp.IpAddress & dhcp.Netmask) | ~dhcp.Netmask;
                    byte[] quads     = new byte[4];
                    for (int k = 0; k < 4; k++)
                    {
                        quads[k] = (byte)((broadcast >> k * 8) & 0xFF);
                    }
                    return(new IPAddress(quads));
                }
            }
            catch             // Catch Access Denied Errors
            {
                return(IPAddress.Broadcast);
            }
#endif
#if IS_FULL_NET_AVAILABLE
            try
            {
                NetworkInterface ni = GetNetworkInterface();
                if (ni == null)
                {
                    return(null);
                }

                IPInterfaceProperties properties = ni.GetIPProperties();
                foreach (UnicastIPAddressInformation unicastAddress in properties.UnicastAddresses)
                {
                    if (unicastAddress != null && unicastAddress.Address != null && unicastAddress.Address.AddressFamily == AddressFamily.InterNetwork)
                    {
                        var    mask            = unicastAddress.IPv4Mask;
                        byte[] ipAdressBytes   = unicastAddress.Address.GetAddressBytes();
                        byte[] subnetMaskBytes = mask.GetAddressBytes();

                        if (ipAdressBytes.Length != subnetMaskBytes.Length)
                        {
                            throw new ArgumentException("Lengths of IP address and subnet mask do not match.");
                        }

                        byte[] broadcastAddress = new byte[ipAdressBytes.Length];
                        for (int i = 0; i < broadcastAddress.Length; i++)
                        {
                            broadcastAddress[i] = (byte)(ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255));
                        }
                        return(new IPAddress(broadcastAddress));
                    }
                }
            }
            catch             // Catch any errors
            {
                return(IPAddress.Broadcast);
            }
#endif
            return(IPAddress.Broadcast);
        }
コード例 #10
0
ファイル: PhoneTool.cs プロジェクト: mokth/merpV2Production
        public string MACAddressWiFi()
        {
            wifi_manager =
                (Android.Net.Wifi.WifiManager)
                Context.GetSystemService(Android.Content.Context.WifiService);

            string mac_address = wifi_manager.ConnectionInfo.MacAddress;
            if (!wifi_manager.IsWifiEnabled)
            {
                mac_address = "DISABLED";
            }
            if (mac_address == "")
            {
                mac_address = "UNKNOWN";
            }

            //Log.Debug
            //	(
            //	  "INFO", "{0} {1} {2} {3} {4} {5} {6} {7}"
            //	, id, device, model, manufacturer, brand, deviceId, serialNumber, mac_address
            //	);
            // Simulator: 9774d56d682e549c generic sdk unknown generic 000000000000000 89014103211118510720 DISABLED

            return mac_address;
        }
コード例 #11
0
 public ConnectParameterType(TcpClientWithTimeout.NetworkData networkData, Android.Net.Wifi.WifiManager wifiManager)
 {
     NetworkData = networkData;
     WifiManager = wifiManager;
 }