Windows 8.1 應用開發背景工作簡介

來源:互聯網
上載者:User

說到背景工作,這是在和許多 Android 開發人員聊天的時候,經常被提起的話題之一, Windows 移動平台的背景工作的形式有別與 Android 的後台 service,簡單的說在 Windows RT 移動平台下只有在滿足一定條件的時候才能運行一部分預先設定好的制的代碼。並且 Windows 8.1 和 Windows Phone 8.0 對背景工作有些區別,今天我就為大家介紹一下 Windows 8.1 移動平台下的背景工作,以及他們的運行條件。

首先給大家介紹下 Windows 移動平台的應用運行背景情景分為多種。

今天我只為大家介紹以下基礎任務,背景工作響應系統事件 ( 背景工作的運行條件、ServicingComplete  - 應用程式更新觸發器 )、維護觸發器、計時器背景工作,這些內容後面我一個一個的給大家介紹。

在此之前我先介紹下使用背景應用配置。

手動在 Package.appxmanifest 檔案中聲明支援的背景工作類型

聲明在  <Extensions> 節點中

<Application Id="BackgroundTaskSample.App" Executable="BackgroundTaskSample.exe" EntryPoint="BackgroundTaskSample.App">
<VisualElements DisplayName="BackgroundTaskSample" Logo="Images\squareTile-sdk.png" SmallLogo="Images\smallTile-sdk.png" Description="BackgroundTaskSample" ForegroundText="dark" BackgroundColor="#222222">
<LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo.png" />
<DefaultTile ShowName="allLogos" WideLogo="images\tile-sdk.png" />
<SplashScreen Image="Images\splash-sdk.png" BackgroundColor="#FFFFFF" />
</VisualElements>
<Extensions>
<!-- TODO: Add elements here -->
</Extensions>
</Application>

例如:

<Extension Category="windows.backgroundTasks" EntryPoint="Tasks.BackgroundTaskClass">         <BackgroundTasks>           <Task Type="systemEvent" />           <Task Type="pushNotification" />         </BackgroundTasks></Extension>

或者直接在 圖形化介面中滑鼠勾選 注意:這裡要手動輸入一個:Entry Point 這個欄位很重要,這個欄位要和後面 BackgroundTaskBuilder.TaskEntryPoint 註冊任務時傳入的參數一致(為了聲明後台代理的許可權以及要運行代理邏輯的命名空間)

對於背景工作代碼實現部分簡單的說分為兩個部分:

第一部分:啟動並執行邏輯體本身(商務邏輯部分)你需要建立一個背景工作類(具體步驟借用MSDN原話)

你可以通過編寫用於實現 IBackgroundTask 介面的類來在後台運行代碼。在使用諸如 SystemTriggerMaintenanceTrigger 等觸發器觸發特定事件時,將運行該代碼。

以下步驟介紹如何編寫實現 IBackgroundTask 介面的一個新類。開始之前,在解決方案中為背景工作建立一個新項目。為背景工作添加一個新的空類,並匯入Windows.ApplicationModel.Background 命名空間。

為背景工作建立一個新項目並將其添加到你的解決方案。為此,請按右鍵你的解決方案並選擇“添加”->“建立項目”。然後選擇 Windows 運行時組件項目類型,命名項目,並單擊“確定”。

從 Windows 市集應用引用背景工作項目。首先,按右鍵你的 Windows 市集應用項目並選擇“屬性,然後轉到“常見屬性”並單擊“添加新參考”,選中背景工作項目旁邊的複選框,然後單擊兩個對話方塊中的“確定”。

建立一個實現 IBackgroundTask 介面的新類。Run 方法是在觸發指定的事件時必須調用的輸入焦點;每個背景工作中都需要該方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.