Xamarin 当我们连接到安卓10上的特定wifi时,当路由器中的互联网可用时,互联网将无法运行
我在Xamarin android平台上工作,在android 10更新后,“通过代码自动连接到wifi”已停止。因此,在使用android 10后,wifi通过请求的代码成功工作,我的问题是wifi连接互联网在我的手机上无法工作。如果我们手动连接到该网络,则一切正常。因此,我尝试了两种解决方案: 1) 如果我们删除此线路RemoveCapability(NetCapability.Internet),则wifi连接成功,但Internet不工作。Xamarin 当我们连接到安卓10上的特定wifi时,当路由器中的互联网可用时,互联网将无法运行,xamarin,xamarin.forms,xamarin.android,xamarin-studio,Xamarin,Xamarin.forms,Xamarin.android,Xamarin Studio,我在Xamarin android平台上工作,在android 10更新后,“通过代码自动连接到wifi”已停止。因此,在使用android 10后,wifi通过请求的代码成功工作,我的问题是wifi连接互联网在我的手机上无法工作。如果我们手动连接到该网络,则一切正常。因此,我尝试了两种解决方案: 1) 如果我们删除此线路RemoveCapability(NetCapability.Internet),则wifi连接成功,但Internet不工作。 2) 如果我们添加AddCapability(
2) 如果我们添加AddCapability(NetCapability.Internet)选项,则不会出现请求弹出窗口,也不会连接wifi 所以请调查一下 1)我想使用xamarin通过android 10中的代码连接到wifi。
2) 我已经完成的部分是wifi连接完成。
3) 我遇到的问题是连接后internet无法工作。 如果我手动连接到wifi,则互联网工作正常
try
{
var connectivityManager = Android.App.Application.Context.GetSystemService(Context.ConnectivityService) as ConnectivityManager;
WifiManager wifiManager = (WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
if (!wifiManager.IsWifiEnabled)
{
Forms.Context.StartActivity(new Intent(Android.Provider.Settings.ActionWifiSettings));
return false;
}
var callback = new NetworkCallback(connectivityManager)
{
NetworkAvailable = network =>
{
Console.WriteLine("Connected");
MessagingCenter.Send<string, Boolean>("ConnectModel", "connecttowifi", true);
},
NetworkUnavailable = () =>
{
Console.WriteLine("Not Connected");
MessagingCenter.Send<string, Boolean>("ConnectModel", "connecttowifi", false);
}
};
var specifier = new WifiNetworkSpecifier.Builder()
.SetSsid(ssid)
.SetWpa2Passphrase(password)
.Build();
var request = new NetworkRequest.Builder()
.AddTransportType(TransportType.Wifi)
//.AddCapability(NetCapability.Internet)
//.RemoveCapability(NetCapability.Internet)
.SetNetworkSpecifier(specifier)
.Build();
connectivityManager.RequestNetwork(request, callback);
return true;
}
catch (Exception e)
{
Console.Write(e.Message);
return false;
}
试试看
{
var connectivityManager=Android.App.Application.Context.GetSystemService(Context.ConnectivityService)作为connectivityManager;
WifiManager=(WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
如果(!wifiManager.IsWifiEnabled)
{
Forms.Context.StartActivity(新意图(Android.Provider.Settings.ActionWifiSettings));
返回false;
}
var callback=新网络回调(ConnectionManager)
{
网络可用=网络=>
{
控制台。写入线(“连接”);
MessagingCenter.Send(“ConnectModel”,“connecttowifi”,true);
},
网络不可用=()=>
{
控制台。写入线(“未连接”);
MessagingCenter.Send(“ConnectModel”、“connecttowifi”、false);
}
};
变量说明符=新的wifinetworksspecifier.Builder()
.SetSsid(ssid)
.SetWpa2Passphrase(密码)
.Build();
var request=new NetworkRequest.Builder()
.AddTransportType(TransportType.Wifi)
//.AddCapability(NetCapability.Internet)
//.RemoveCapability(NetCapability.Internet)
.SetNetworkSpecifier(说明符)
.Build();
RequestNetwork(请求,回调);
返回true;
}
捕获(例外e)
{
控制台。写入(e.Message);
返回false;
}
你能告诉我们你做了什么,你想做什么,并希望给我们展示一些代码1)我想通过使用xamarin的android 10中的代码连接到wifi。2) 通过代码连接到wifi部分已成功完成3),但问题是,连接到wifi后,无法连接到internet工作代码附在上面。