2016-11-14 3 views
2

토스트 알림 작업에서 백그라운드 이벤트를 처리 할 수있는 백그라운드 프로세스 태스크를 등록하려고합니다. 나는 내 응용 프로그램 클래스의 OnBackgroundActivated의 재정의를 만들었습니다,하지만 난 내 BackgroundTaskBuilder에서 등록 호출 할 때 나는이 예외를 얻을 :UWP에서 인 프로세스 백그라운드 작업을 등록하십시오.

: (0x80040154 (REGDB_E_CLASSNOTREG) HRESULT에서 예외) 등록되지

클래스

BackgroundTaskBuilder builder = new BackgroundTaskBuilder() 
{ 
    Name = "myTask" 
}; 
builder.SetTrigger(new ToastNotificationActionTrigger()); 
BackgroundTaskRegistration task = builder.Register(); 

Package.appxmanifest의 진입 점 이름이 잘못 되었기 때문에 이것이 해결책이라고 생각합니다. 예를 들어 here, herehere입니다. 당신이 TaskEntryPoint을 설정하지 않은 공정 중 백그라운드 작업을 위해

:하지만 this article on msdn에 따라, 나는 내가 처리중인 백그라운드 작업을 수행 할 때의 엔트리 포인트를 지정되어 있지 않다. 비워두면 OnBackgroundActivated()라는 Application 개체의 새로운 보호 된 메서드 인 기본 진입 점이 활성화됩니다.

msdn-article은 RequestAccessAsync를 호출해야한다는 것을 나타내지 만 documentation과 intellisense는 필요 없음을 나타냅니다. 그러나 RequestAccessAsync를 호출하면 동일한 예외가 발생합니다.

+1

구현 된 OnBackgroundActivated (BackgroundActivatedEventArgs args) 재정의로 내 등록 코드가 작동하고 있습니다. 예외 세부 사항에서 누락 된 클래스에 대한 자세한 정보를 얻었습니까? 도움이 될 것입니다 ... 아직 완료되지 않았다면 OnBackgroundActivated() 프로토 타입을 두 번 확인하고 전체 재 구축을 시도하거나 가능하다면 다른 시스템에서 컴파일을 시도 할 수 있습니다. SDK 설치에 문제가 있다고 의심됩니다 ... – Vincent

+0

내부 예외가 없습니다. 방금 다른 컴퓨터에서 시도했는데 정상적으로 작동했습니다. 청소, 재건, 언 로딩 및 재 장전을 시도하여 여러 번 누 겟을 복원했습니다. 내 "메인"컴퓨터에서 작동하도록하려면 어떻게해야합니까? –

+1

VS 설치 프로그램에서 UWP SDK를 다시 설치하는 것이 유일한 희망 일 것입니다. – Vincent

답변

0

문제는 내가 사용하는 Windows Phone 에뮬레이터의 OS로 인해 발생했습니다. Vincent가 자신의 의견에서 제안한대로 SDK를 다시 설치하는 것이 올바른 방법이라고 생각됩니다. 가상 장치에 배포 한 후에 문제가 발생했기 때문에 내 컴퓨터에 SDK를 재설치해도 아무런 효과가 없었습니다.

에뮬레이터의 장치 설정에서 전화기를 재설정하면 에뮬레이터에서 응용 프로그램을 성공적으로 배포하고 실행할 수있었습니다.

관련 문제