C# 从离线回到在线后,我想重新加载IOS/Android应用程序-Xamarin
打开互联网连接(打开wifi或移动数据)后,我需要重新加载Xamarin IOS/Android应用程序 我有代码检查互联网是否可用 我只需要刷新应用程序页面 更多信息 应用程序外壳包含C# 从离线回到在线后,我想重新加载IOS/Android应用程序-Xamarin,c#,xamarin,xamarin.forms,xamarin.android,xamarin.ios,C#,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,打开互联网连接(打开wifi或移动数据)后,我需要重新加载Xamarin IOS/Android应用程序 我有代码检查互联网是否可用 我只需要刷新应用程序页面 更多信息 应用程序外壳包含 <TabBar> <Tab Title="Home" Route="Home"> <Tab.Icon> <FontImageSource
<TabBar>
<Tab Title="Home" Route="Home">
<Tab.Icon>
<FontImageSource
x:Name="home"
Glyph=""
FontFamily="{StaticResource FontAwesomeSolid}"
Size="20"
/>
</Tab.Icon>
<ShellContent ContentTemplate="{DataTemplate local:Home}" />
</Tab>
....................
</TabBar>
您可以使用在网络更改时发布消息:
private void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
{
IsInternetNotAvailable = e.NetworkAccess != NetworkAccess.Internet;
if (IsInternetNotAvailable == false)
{
MessagingCenter.Send<MainPage, string>(this, "NetWorkChange", "NotAvailable");
}
}
'Application.Current.MainPage=new AppShell();'我尝试了这段代码,但问题是,它正在当前页面的顶部加载新页面您可以创建一个新活动并销毁以前的活动,或者您可以在main中创建一个新的应用程序实例Activity@RonakShethia有参考链接吗?我没有任何参考,但你可以按照这个,创建一个action App.cs,在主活动中实现该操作,并在操作上实现一个方法,该方法创建应用程序的新对象。cs下面是创建新实例LoadApplication(new App())的步骤;
private void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
{
IsInternetNotAvailable = e.NetworkAccess != NetworkAccess.Internet;
if (IsInternetNotAvailable == false)
{
MessagingCenter.Send<MainPage, string>(this, "NetWorkChange", "NotAvailable");
}
}
protected override void OnAppearing()
{
base.OnAppearing();
MessagingCenter.Subscribe<MainPage, string>(this, "Hi", async (sender, arg) =>
{
await DisplayAlert("Message received", "arg=" + arg, "OK");
if (arg == "NotAvailable")
{
}
else
{
}
});
}
protected override void OnDisappearing()
{
base.OnDisappearing();
MessagingCenter.Unsubscribe<MainPage, string>(this, "Hi");
}