我目前正在尝试不断跟踪用户是否已连接到互联网。
我有代码来检查连接性,我希望能够在用户使用应用程序时连接到互联网时显示弹出窗口。
但是,我无法将DisplayAlert
置于App.cs
(错误:上下文中不存在DisplayAlert)。
我可以知道为什么会这样吗?
App.cs
public App()
{
InitializeComponent();
var seconds = TimeSpan.FromSeconds(1);
Xamarin.Forms.Device.StartTimer(seconds,
() =>
{
CheckConnection();
});
}
private async void CheckConnection()
{
if (!CrossConnectivity.Current.IsConnected)
await DisplayAlert("No Internet Connection", "Please connect to Internet", "OK");
else
return;
}
答案 0 :(得分:8)
DisplayAlert是页面类的一种方法。 但是,您的应用有一个' MainPage'属性。因此,只要设置了主页面(在启动时设置它之后应始终如此),您可以使用
Application.Current.MainPage.DisplayAlert
或来自App.cs
MainPage.DisplayAlert
答案 1 :(得分:-1)
所以您可以这样做,为我工作
Device.BeginInvokeOnMainThread(async () =>
{
await Application.Current.MainPage.DisplayAlert("No Internet Connection", "Please connect to Internet", "OK");
});