응용 프로그램 매니페스트에서 백그라운드 작업을 선언하는 방법(HTML)
[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]
앱 매니페스트에서 백그라운드 작업을 확장으로 선언하여 사용할 수 있습니다. 응용 프로그램 매니페스트에서 각 백그라운드 작업을 확장으로 선언해야 합니다. 그렇지 않으면 앱이 백그라운드 작업을 등록할 수 없으며 예외가 발생합니다. 또한 인증을 통과하려면 응용 프로그램 매니페스트에서 백그라운드 작업을 선언해야 합니다.
알아야 할 사항
기술
- Microsoft Visual Studio 매니페스트 디자이너
사전 요구 사항
- 이 항목에서는 백그라운드 작업 작업자를 한 명 이상 만들었으며 앱이 하나 이상의 트리거에 응답하여 백그라운드 작업 작업자를 등록한다고 가정합니다.
지침
단계 1: 수동으로 확장 추가
응용 프로그램 매니페스트를 열고 Application 요소로 이동합니다. Extensions 요소가 없는 경우 새로 만듭니다.
다음 조각은 BackgroundTaskSample에서 가져온 것입니다.
<Application Id="App" StartPage="default.html">
<VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
<LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
<DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
<SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
</VisualElements>
<Extensions>
<!-- In the next step, we'll add elements here. -->
</Extensions>
</Application>
단계 2: 백그라운드 작업 실행 추가
첫 번째 백그라운드 작업을 선언합니다.
이 코드를 Extensions 요소에 복사합니다. 다음 단계에 따라 특성을 추가합니다.
<Application Id="App" StartPage="default.html">
<VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
<LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
<DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
<SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
</VisualElements>
<Extensions>
<Extension Category="windows.backgroundTasks" StartPage="">
<BackgroundTasks>
<Task Type="" />
</BackgroundTasks>
</Extension>
</Extensions>
</Application>
백그라운드 작업(path.filename)을 등록하는 데 사용한 것과 동일한 문자열을 포함하도록 EntryPoint 특성을 변경합니다.
이 예에서 진입점은 Tasks.SampleBackgroundTask입니다.
<Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
Task Type 특성을 변경하여 이 백그라운드 작업과 함께 사용된 작업 등록 유형을 나타냅니다. 백그라운드 작업을 여러 트리거 유형과 함께 등록할 경우 유형별로 Type 특성이 다른 Task 요소를 추가합니다.
참고 사용 중인 각 트리거 유형을 나열해야 합니다. 그렇지 않으면 선언되지 않은 트리거 유형을 사용하여 백그라운드 작업이 등록되지 않습니다(Register 메서드가 실패하고 예외가 발생함).
이 조각 예제에서는 SystemEventTrigger 사용을 나타냅니다.
<Task Type="systemEvent" />
참고 JavaScript에서는 Executable 요소를 사용할 필요가 없습니다. 모든 JavaScript 백그라운드 작업자는 기본 시스템 제공 호스트에서 실행됩니다.
단계 3: 백그라운드 작업 실행 추가
앱에서 등록한 각 추가 백그라운드 작업 클래스에 대해 2단계를 반복합니다.
다음 예제는 백그라운드 작업 샘플의 전체 Application 요소입니다. 이 예제는 세 가지 백그라운드 작업의 사용을 보여 줍니다. 응용 프로그램 매니페스트에서 백그라운드 작업을 선언하려면 이 예제의 Extensions 섹션을 복사하고 필요에 따라 수정합니다.
<Application Id="App" StartPage="default.html">
<VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
<LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
<DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
<SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
</VisualElements>
<Extensions>
<Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks" EntryPoint="Tasks.SampleBackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
<Task Type="timer" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks" EntryPoint="Tasks.ServicingComplete">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
</Extensions>
</Application>
관련 항목
앱 접근 권한 값 선언
수동으로 패키지 매니페스트를 만드는 방법