2016-03-01 56 views
0

我有一個使用iOS/Android/UWP的Xamarin Forms應用程序設置。我使用的是最新版本(2.1.0.6521爲3/1)Xamarin.Forms 2.1.0.6521 - UWP沒有打開OnStart/OnSleep方法

當我運行UWP應用程序,並有斷點設置,它擊中主App構造,但是,沒有下面列出的其他方法:

protected override void OnStart() 
    { 
    } 

    protected override void OnSleep() 
    { 
    } 

    protected override void OnResume() 
    { 
    } 

有什麼特別的需要發生的形式擊中這些方法?

+0

我想象這是一個錯誤。 Xamarin充滿了錯誤。檢查[Bugzilla](https://bugzilla.xamarin.com/buglist.cgi?cmdtype=runnamed&list_id=197655&namedcmd=FormsAll)是否存在缺陷,但是如果沒有將其與示例文件進行比較 – user1

回答

1

在庫Xamarin.Form V2.0.0.6482版本中發現相同的問題。 在版本V2.3.0.46 pre3中更新包Nuget後,問題就解決了。

0

UWP應用程序的生命週期與Android應用程序的生命週期不同。請參閱官方文件App lifecycle

默認情況下,它是這樣的:

protected override void OnLaunched(LaunchActivatedEventArgs e) 
{ 
    ... 
} 

... 

private void OnSuspending(object sender, SuspendingEventArgs e) 
{ 
    ... 
} 

您可以按照本教程Adding a Universal Windows Platform (UWP) App得到啓動。這些方法在UWP項目的App.xaml.cs文件中調用

增加:有很多Xamarin.Forms Samples,您可以下載它們。

+0

感謝您的回覆。已經成功地將UWP添加到我的Xamarin Forms項目中。因此,UWP不會掛鉤OnStart/OnSleep/OnResume的PCL共享代碼?我必須在UWP項目中有特定的代碼? – aherrick

+0

@aherrick,我可能在我的答案中犯了一個錯誤,我認爲OnStart/OnSleep/OnResume是android項目的生命週期(之前我開發過android項目,但從未使用過xamarin,對不起),結果在一個xamarin項目中,這些都在PCL共享代碼中。我無法找到這個問題的一些官方文檔,但基於示例代碼,我認爲你是正確的,UWP沒有鉤入OnStart/OnSleep/OnResume的PCL共享代碼(謝謝你讓我知道這個)。這只是我個人的觀點,不是一個正式的答案,我們可以認爲這只是我們之間的討論嗎? –

相關問題