xamarin.forms检测ios应用从后台进入前景

时间:2019-07-15 11:29:13

标签: xamarin.forms xamarin.ios

我正在Xamarin.Forms个共享项目中创建应用。我想检测来自背景的应用程序

当前,我已经在OnActivated中实现了AppDelegate方法,但是当我们在iPhone中打开控制中心时也会调用此方法。我希望我的应用程序从后台进入前台并相应地显示消息时,我的应用程序与服务器重新连接,但是当我向上滑动并打开控制中心时,也会显示此消息。

在本机Xamarin.iOS应用中,有一种方法WillEnterForegroundNotification,但此方法在此处不可用。

只有当应用来自后台时,才有任何方法被调用吗?

2 个答案:

答案 0 :(得分:0)

App.xaml.cs

protected override void OnResume()

答案 1 :(得分:0)

  

在本地Xamarin.iOS应用中,有一种方法   WillEnterForegroundNotification,但此方法在此处不可用。

您可以在Xamarin.forms项目中访问WillEnterForegroundNotification方法,只需在AppDelegate.cs中覆盖它即可:

public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
    //
    // This method is invoked when the application has loaded and is ready to run. In this 
    // method you should instantiate the window, load the UI into it and then make the window
    // visible.
    //
    // You have 17 seconds to return from this method, or iOS will terminate your application.
    //
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {
        global::Xamarin.Forms.Forms.Init();
        LoadApplication(new App());

        return base.FinishedLaunching(app, options);
    }

    public override void WillEnterForeground(UIApplication uiApplication)
    {   
        //handle your event here 
        base.WillEnterForeground(uiApplication);
    }
}