문제

나 등록하려고 배경을 작업하고 난 점점 이상한 행동을 했다.내가 나타나는 작업체 등록 및 발사에는 시간;그러나,그것은 화재로 그것의 종 내 아래 프로그램(no error).

내가 의심되는 이유는 사실에 연결 프로그램이 아니라는 것을 묻는 나에게 나가도록 허용하려는 백그라운드 작업 실행하면 내가 시작됩니다.나는 선언문을 작성한 백그라운드 작업으로 시스템 이벤트,그리고 오전 등록 다음과 같이 응용 프로그램에서.Xaml.cs:

var builder = new BackgroundTaskBuilder();

builder.Name = "NewTask";
builder.TaskEntryPoint = "ConnectionMonitor.CheckInternet";
builder.SetTrigger(new SystemTrigger(SystemTriggerType.InternetAvailable, false));

BackgroundTaskRegistration task = builder.Register();

그래서 내가 믿는 나의 질문은:왜 그것은 물을 실행할 권한이 있는 백그라운드 작업(나는 가정이 내게 대답하면 나의 주요 문제 왜 그것은 충돌)?

나는 확실하지 않은 사항이지만,이는 윈도우 유니버셜 응용 프로그램(app.xaml.cs 위에서 Shared 프로젝트입니다.

작업은 다음과 같이 나타납니다:

BackgroundTaskDeferral _deferral = taskInstance.GetDeferral();

bool newConnected = IsConnected();
if (connected != newConnected)
{
    connected = newConnected;
    var notifier = ToastNotificationManager.CreateToastNotifier();
    var template = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);

    var element = template.GetElementsByTagName("text")[0];
    element.AppendChild(template.CreateTextNode(connected ? "Connection available" : "Connection lost"));

    var toast = new ToastNotification(template);
    notifier.Show(toast);  
}

_deferral.Complete();
도움이 되었습니까?

해결책

당신이 질문: 왜 그것은 물을 실행할 권한이 있는 백그라운드 작업?

응답되지 않는 한,당신의 배경이 필요한 작업은 잠금 화면에 액세스,그것은 필요하지 않은 사용자의 허가에 등록한다.이 없는 사용자 프롬프트에 의해 디자인.중 하나의 의도를 이 디자인을 등록 할 수 있습 작업에서 다른 작업입니다.

윈도우즈에서 메서드를 호출할 필요가 없습니다 BackgroundExecutionManager.RequestAccessAsync() 을 제외한 잠금 화면을 액세스합니다.전화 그것은 당신에게 더 많은 할당되지만 사용자가 승인하는 작업입니다.

Windows Phone,전화 RequestAccessAsync() 가 필요없는 무엇,그러나 결코 사용자에게 표시합니 UI.이러한 이유로 논리에서 보편적인 앱을 공유할 수 있는지만 가능성이 있는 #if 을 처리하는 등록 다르게는 경우에,관련이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top