2013-11-22 40 views
1

我正在開發一個應用程序,需要通過後臺代理 幫助預先通知用戶。所以我試着添加一個警報,但根據MSDN的「Unsupported APIs for Background Agents for Windows Phone」,不支持關於Microsoft.Phone.Scheduler(添加,刪除,替換)的所有方法(當我嘗試從後臺代理調用Add方法時,它會給出錯誤「BNS錯誤:API只能從前臺應用程序「。)。我嘗試在前臺添加鬧鐘,然後使用「BeginTime」屬性進行播放,並使用我的scheduledTask中的Replace方法(具體來說,每30分鐘運行一次代碼的PeriodicTask),但無濟於事。從BackgroundAgent添加警報(不工作,尋找解決方法) - Windows Phone 8

對我來說重要的是在後臺代理的Invoke方法決定的日期和時間通知用戶(聲音足夠長)(我的類派生自ScheduledTaskAgent並覆蓋Invoke方法),所以我正在尋找解決方法。如果在預定的時間出現敬酒,那麼某種程度上可以。或者,也許是在屏幕頂部停留較長時間的吐司(從計劃任務提出DateTime實例到[在此DateTime實例中指定時間之後甚至在此時間之後])的時間。

回答

0

請確認,是否只有後臺代理才能計算正確的鬧鐘時間?

假設情況如此,您可以通過發送一個通知(這也會振動手機,除非用戶已禁用該通知)並更新固定到主頁的磁貼來通知用戶。這些都是允許的API。因此,吐司消息可以告訴用戶去查看瓦片,其可以具有關於報警的具體細節。瓷磚狀態將一直存在,直到您改變它爲止。如果您的前臺應用程序會爲用戶固定拼貼,那就是一個開始。如果可以讓用戶將拼貼移動到屏幕的頂部,所以它始終可見,您應該全部設置好。

考慮到當用戶不主動使用手機時可能會發生鬧鐘時間,也許您想要做吐司加notification on the lock screen(以及更新瓦片)?這將提供另一個視覺指示,但是,這又取決於用戶配置鎖定屏幕。

+0

事實上,只有後臺代理才能計算出正確的時間。 會有一個烤麪包(通知用戶:「你需要打開應用程序,直到那時」)和一塊瓷磚 - 這是計劃在第一位,但我想在確切的時間通知用戶,以及。這意味着如果後臺代理計算出用戶需要在上午12點輸入應用程序(並且用戶看不到烤麪包或平鋪通知 - 直到上午12點),那麼此時應該會出現警報。用戶必須得到通知,以便他可以在他沒有拿着手機時聽到電話,但也可能在另一個房間裏。 –

相關問題