我正在使用C#作爲我的應用程序,它的重要意義在於活動磁貼在個人計算機登錄後立即開始更新。目前,更新開始時間不得早於15分鐘,因爲我正在使用時間觸發器進行實時磁貼更新。有什麼辦法可以手動觸發任務,或者有什麼其他方式可以讓我的活動磁貼從用戶登錄系統時開始更新?我可以啓動Win 8後臺任務手冊
回答
您不能手動調用後臺任務,但可以簡單地使用運行後臺任務的代碼創建共享庫,然後直接從後臺任務調用它。然後,只要您想從應用程序中手動觸發該代碼,就可以手動調用該代碼。
那麼我的問題是,當我啓動計算機並登錄到它時,該任務在15分鐘後啓動,因爲計時器僅在15分鐘時觸發任務。那麼有沒有辦法在人登錄時觸發一次,然後每15分鐘一次? – user1801229
是的,你可以做到這一點,請看這裏:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977056.aspx。您需要使用SessionConnected系統事件。儘管如此,您的應用程序仍需要作爲鎖屏應用程序運行。 – Flavien
好的非常感謝你我會嘗試:) – user1801229
UserPresent SystemTriggerType可能是你之後的東西。我想這樣做的方式是同時具有時間和系統觸發器,因此每15分鐘和用戶解鎖設備。 我不認爲你隨時隨地儘可能多的CPU時間接近與SystemTrigger壽,但它總比沒有 http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.background.systemtriggertype.aspx
更好的DispatcherTimer可以幫助你火了,在設定的時間間隔的事件。您可以將代碼添加到App()構造函數中:
// _dispatcherTimer is probably a class level variable.
DispatcherTimer _dispatcherTimer;
// How often
uint _DoSomethingInterval = 500;
// Set up a DispatchTimer
_dispatcherTimer = new DispatcherTimer();
_dispatcherTimer.Tick += DoSomething;
// If you like lambdas, do this
//_dispatcherTimer.Tick += (sender, object) =>
// { Debug.WriteLine("time passed so do something"); }
_dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, (int)_desiredReportInterval);
// The callback for the timer
private void DoSomething(object sender, object args)
{
Debug.WriteLine("time passed so do something");
}
- 1. 後臺任務不啓動
- 2. 任務可以在NOT後臺線程中啓動?
- 3. Windows Phone 8.1後臺任務無法註冊後臺任務
- 4. UWP(C#)註冊後臺任務應用程序前啓動
- 5. 啓動屏幕與後臺任務
- 6. 從後臺啓動gulp任務php/angularjs
- 7. 啓動屏幕與後臺任務
- 8. 用戶可以關閉Windows 8中的後臺任務嗎?
- 9. 在服務中啓動可取消的後臺任務
- 10. 手動啓動ANT任務
- 11. 對於Win 8 Metro App,如何在沒有觸發器的情況下立即啓動後臺任務?
- 12. Windows 8顯示所有後臺任務
- 13. Android:啓動任何活動以在後臺啓動?
- 14. 無法註冊後臺任務
- 15. 我們可以在後臺啓動一臺iBeacon發射機嗎?
- 16. Windows Phone 8通知和後臺任務
- 17. Windows Phone 8中的後臺任務
- 18. 是否可以通過服務在後臺啓動活動?
- 19. Windows 10移動應用程序後臺任務或服務自動啓動時,手機重新啓動
- 20. xamarin表單win電話8.1後臺任務推送通知不註冊
- 21. 註冊後臺任務一旦
- 22. 您可以從WP7中的後臺任務啓動應用程序頁面嗎?
- 23. WinRT後臺任務
- 24. 後臺任務和活動
- 25. 後臺任務
- 26. Android後臺任務
- 27. 我可以在後臺手動設置ObjectId
- 28. cider-jack-in後啓動啓動任務
- 29. 喚醒/啓動MainApp從後臺任務TimeTrigger後的Windows Phone 8.1
- 30. 啓動後臺腳本運行任務,然後退出它
我不相信有一種方法可以立即運行您的後臺任務。但是,可以使用週期性磁貼更新或推送通知在用戶登錄後更新實時磁貼。 –