【发布时间】:2019-05-30 14:24:12
【问题描述】:
我有一个类似这样的功能:
private bool IsConnected()
{
if (DeviceInfo.DeviceType == DeviceType.Unknown)
return false;
var current = Connectivity.NetworkAccess;
if (current == NetworkAccess.Internet)
return true;
return false;
}
我的队友报告此功能的问题为零,并且正在使用各种设备。我的个人设备是使用 Google Fi 和 Google VPN 的 Google Pixel 3。当我将其切入飞行模式时,我看到 Connectivity.NetworkAccess 设置为 NetworkAccess.None。但是,当我关闭飞行模式并明确关闭移动数据和 Wifi 时,我看到 Connectivity.NetworkAccess 设置为 NetworkAccess.Internet。
与此相关,Connectivity.ConnectionProfiles 报告了一个个人资料:ConnectionProfile.Unknown。
这是预期的行为吗?我是否应该同时检查Connectivity.ConnectionProfiles 和Connectivity.NetworkAccess 以确定设备是否真正连接到网络?
【问题讨论】:
-
可能值得在比抽象更低的级别进行调试。查看Android APIs being used 以进一步了解并可能在本地运行其中一些以确保它不会遇到无效的代码路径。
标签: android xamarin xamarin.essentials