2017-04-20 188 views
-1

我在我的主要活動中有一個位置嘲笑方法。不幸的是,我不能把這個方法放到另一個類中(還是!)。所以,我需要一個服務,每5秒鐘從我的主要活動中調用這個方法。所以我在一個服務中創建了一個倒計時,當應用程序在後臺時,應該在我的MainActivity中運行該方法。但它沒有。Xamarin Android:我可以不創建我的MainActivity的新對象嗎?

public void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     Log.Info("2", "CountDown ausgeführt!"); 
     var test = new MainActivity(); 

     test.getMockLocation(); 

    } 

這是我的代碼。正如你所看到的,我正在安裝我的主要活動的一個新對象,然後在這個活動中請求這個方法。這確實有用。至少Visual Studio不會抱怨。如果我現在在手機上調試我的應用程序,則什麼都不會發生我沒有得到任何錯誤或任何東西。 現在,當我運行這個應用程序一步一步,它到達了這一點 「var test = new MainActivity();」

我得到「框架不在模塊」。

因此,一旦我要求它安裝我的主要活動的新對象,它就基本崩潰。 有人可以告訴我爲什麼這是? 謝謝:)

回答

0

不幸的是,在Android中你不能創建這樣的活動,它們需要由操作系統實例化。另外,僅爲一個方法實例化一個完整的活動並不理想,我建議你找到從該活動中獲取該方法/函數的方法,以便可以在程序中的任何位置使用它。

+0

謝謝,虐待儘快嘗試。生病報告回來:) – user7285912

0

您是否通過Xamarin Forms創建了您的應用程序?如果你這樣做了,你可以利用Xamarin Forms MessagingCenter進行後臺服務,然後你可以調用你的模擬位置任務。

這是link,它是MessagingCenter的一個非常有用的演練和示例。

+0

謝謝,生病請儘快嘗試。生病報告回來:) – user7285912

相關問題