我有一個Windows 8 metro應用程序,它顯示每分鐘刷新的活動瓷磚上的數據。w8地鐵活瓷磚不會在電腦重新啓動後生成動畫
地鐵應用程序啓動時,它會創建一個序列來執行磁貼更新。這工作完美。
問題:
當我重新啓動我的電腦地鐵瓷磚停止工作。相反,它會返回到默認的metro磁貼(應用名稱左下圖中間)。
我可以通過簡單地啓動和停止地鐵應用程序再次運行它。但我不想這樣做。
我實現了一個實現IBackgroundTask並實現run方法的類。
public void Run(IBackgroundTaskInstance taskInstance){
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
TileScheduler.CreateSchedule();
deferral.Complete();
}
在地鐵應用程序包清單中添加聲明「後臺任務」,並在入口點指向這個類。我也註冊計時器和系統事件。
這個類代碼基本上調用了主應用程序在首次設置tile序列時所做的相同代碼路徑,只是它使用延遲進行了包裝。
問題 這是正確的路徑(因爲它似乎沒有工作,所以我想我的實現是錯誤的)?還是有更好的方法來做到這一點?
hey 看起來很符合你的意思,我不使用IIS服務,但很快就會運行一次發佈檢查,看看它是否存在調試環境問題。 非常感謝您的幫助 –
哦,您可以嘗試的另一件事是用模擬器運行您的應用程序。我注意到,如果我在模擬器中做了關閉我的應用程序的手勢,那麼我的調試會話已完成,但我的WCF服務至少保持活動狀態。當我回到模擬桌面時,我可以再次啓動我的應用程序,它就像是一個新的會話,但Visual Studio並不知道我仍在玩我的項目。例如,可以很好地查看數據持續存在。如果您關閉應用程序,再次啓動應用程序,然後返回到開始菜單,您可以查看自己的平鋪應用程序是否在「重新啓動」。 – Mike
Damm我以爲這會工作,但模擬器不會讓我添加後臺任務。 不知道爲什麼微軟限制這一點,因爲這是罰款前RC。 「WinRT信息:在模擬器中運行此應用程序時,您無法更改後臺任務並鎖定屏幕權限。」 我們很快就發佈了測試版,我想我只需要在後臺任務部分中預算更多的時間來處理錯誤:D –