2016-06-14 18 views
1

在我們的團隊中,我們最近更新了Xamarin Studio 6,因爲它剛剛完成。不幸的是,我們的Android應用程序中出現了一些問題。Xamarin.Android應用程序自從XS 6開始不再調用

粗略地說,我們有一個Application類,在OnCreate()中有初始化。

namespace MyNamespace 
{ 
    [Application(Theme="@style/MyTheme")] 
    public class MyApplication : Android.App.Application 
    { 
     public MyApplication (IntPtr handle, JniHandleOwnership transfer) 
      : base (handle, transfer) 
     { 
     } 

     public override void OnCreate() 
     { 
      // Never called 
     } 
    } 
} 

但是OnCreate()因爲我們更新了,不再叫。一位開發人員報告說他重新安裝了XS5,但仍然存在問題。這工作之前,所以一些改變,但什麼?

+0

我做了一個新的Xamarin.Android應用程序的快速測試,它按預期工作。我與X.Android 6.1.0.71在穩定的頻道。請注意,如果應用程序從頭開始,而不是開始新的活動,則只會調用一次OnCreate()。同樣,將應用程序推入後臺並重新啓動它不會再次觸發OnCreate()。 – Krumelur

+0

我也可以確認,在穩定的頻道上,XS 6.0(build 5174)和Xamarin.Android 6.1.0.71按預期工作。 –

回答

2

正如其他人所指出的更新Android和iOS的最新版本,新的項目叫Application.OnCreate()預期。

我最終創建了一個新項目,並將所有文件從一個拖放到另一個。不好,但至少它工作。

編輯:

因此,這裏發生了什麼事真的。

我們的應用程序類從另一個類繼承,在一個框架項目,具體如下:

class ParentApp 
{ 
    void OnCreate() 
    { 
     SubclassInit(); 
    } 

    abstract void SubclassInit(); 
} 

[Application] 
class MyApp : ParentApp 
{ 
    void SubclassInit() 
    { 
    } 
} 

在此設置下,沒有人叫。

我們所要做的只是在MyApp類中添加OnCreate()方法。

void OnCreate() 
{ 
    base.OnCreate(); 
} 

現在它已經解決了。

-1

你必須要還與Xamrin版本

相關問題