2014-11-05 3 views
0

NetworkStateChange 시스템 트리거에 응답하는 백그라운드 taks를 갖고 싶은 Windows Phone 8 프로젝트가 있습니다.Windows Phone 8의 백그라운드 작업

질문 : Windows Phone 8.1 Background Task - Can't Debug and won't fire을 다운로드하고 솔루션 (http://1drv.ms/1qCPLMY)을 다시 구현하고 약간의 도움을 받아 문제가 해결되었습니다.

저는이 간단한 작업을했습니다 : using Windows.ApplicationModel.Background;

namespace FlexCheck.Tasks 
{ 

    public sealed class BackgroundTask : IBackgroundTask 
    { 
     BackgroundTaskDeferral _deferral = null; 

     public void Run(IBackgroundTaskInstance taskInstance) 
     { 
      _deferral = taskInstance.GetDeferral(); 
      _deferral.Complete(); 
     } 

    } 
} 

컴파일하려면 Windows Phone 8.1이 필요합니다. 그렇지만 내 Windows 8 프로젝트에서 참조 할 수 없습니다.

질문 : 어떻게 든 이것을 얻을 수 있습니까? 또는 Windows phone 8에서 사용할 수있는 동일한 IBackgroundTask가 있습니까?

+0

WP8.1이 아닌 WP8을 타겟팅하는 이유가 있습니까? AFAIK WP8이 장착 된 모든 장치는 8.1로 업그레이드 할 수 있습니다. –

+0

그 이유는 매우 간단합니다. 우리는 아직 그것을 8.1로 옮길 시간이 없습니다. 그리고 큰 응용 프로그램이기 때문에 5 분 안에 완료된 약간의 씬은 아닙니다 : D –

+2

** 나는 ** 당신이이 문제를 해결할 수 없다고 생각합니다. Windows Phone 8에는 [Background Agents] (http://msdn.microsoft.com/en-us/library/windows/apps/hh202941(v=105).aspx)가 있으며 Background Tasks보다 훨씬 유용합니다. –

답변

1

Windows Phone 8의 백그라운드 에이전트는 이벤트에 반응 할 수 없습니다. 타이머를 실행하는 코드 조각 일뿐입니다. WP 8.1로 전환하는 것이 유일한 해결책입니다. Audio Background agent을 해킹으로 시도하고 코드에서 네트워크 상태를 수동으로 검사 할 수도 있지만 이는 규칙 위반자이며 일반적으로 저장소 인증을 통과하지 못합니다.