我正在开发一个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();
}
};
}
}
}
答案 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
}