다음을 통해 공유


응용 프로그램 매니페스트에서 백그라운드 작업을 선언하는 방법(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>
  1. 백그라운드 작업(path.filename)을 등록하는 데 사용한 것과 동일한 문자열을 포함하도록 EntryPoint 특성을 변경합니다.

    이 예에서 진입점은 Tasks.SampleBackgroundTask입니다.

    
    <Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
    
  2. 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>

관련 항목

앱 접근 권한 값 선언

수동으로 패키지 매니페스트를 만드는 방법

백그라운드 작업을 등록하는 방법

백그라운드 작업을 디버그하는 방법

백그라운드 작업에 대한 지침 및 검사 목록