如何在c#中为Android应用程序编写代码以查找特定的网络SSID

时间:2014-08-19 10:05:10

标签: android networking connection

我正在开发一个Android应用程序,我需要检查Android设备是否连接到特定网络以启动应用程序。例如,如果Android设备连接到网络说" JK20"然后应用程序可以成功打开,否则会抛出一个错误,说请连接到" JK20"网络

我正在写的代码是在C#中。请帮助您填写代码段。

以下是我的代码段:

命名空间Test_Launcher {     [活动(标签=" Test_Launcher",MainLauncher = true,Icon =" @ drawable / icon")]     公共类MainActivity:活动     {

    protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        // Set our view from the "main" layout resource
        SetContentView (Resource.Layout.Main);

        // Get our button from the layout resource,
        // and attach an event to it
        Button button = FindViewById<Button> (Resource.Id.button1);


        button.Click += delegate {
            var cm = (ConnectivityManager)GetSystemService(ConnectivityService);
            var activeConnection = cm.ActiveNetworkInfo;
            WifiConfiguration wifiConfiguration = new WifiConfiguration();

            if ((activeConnection != null)  && activeConnection.IsConnected && NetworkSSID == 'JK20') // here what code should be to check for NetworkSSID
            {
                var uri = Android.Net.Uri.Parse ("http://www.google.co.in");
                var intent = new Intent (Intent.ActionView, uri); 
                StartActivity (intent);
            }

            else{
                var builder = new AlertDialog.Builder(this);
                builder.SetMessage("Please connect to JK20 to proceed");
                builder.SetPositiveButton("OK", (s, e) => { });
                builder.SetNegativeButton("Cancel", (s1, e1) => { });
                builder.Create().Show();
            }
        };
    }
}

}

1 个答案:

答案 0 :(得分:0)

获取连接的ssid并将其比较为:

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
Log.d("wifiInfo", wifiInfo.toString());
Log.d("SSID",wifiInfo.getSSID());

if(wifiInfo.getSSID().equals("JK20"))
{
//redirect ur url
}
else
{
// toast a msg
}