0

8.1のWindows Phoneに検出私は、このトピック(Detecting reboot programmatically in Windows Phone 8.1)を続いたが、私の場合にはキャンセルの方法は、バックグラウンドタスクに呼び出されることはありません。が、私はこれを行うには、再起動するか、またはデバイスの開始を検出必要

私はデバッグを開始すると、私の方法は、によって行われたタイムゾーンの変更を強制した後に呼び出されます。

builder.SetTrigger(new SystemTrigger(SystemTriggerType.TimeZoneChange, false)); 

私のバックグラウンドタスクは次のとおりです。

public void Run(IBackgroundTaskInstance taskInstance) 
     { 
      BackgroundTaskDeferral defferal = taskInstance.GetDeferral(); 
      taskInstance.Canceled += TaskInstance_Canceled; 
      defferal.Complete(); 
     } 

     private async void TaskInstance_Canceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason) 
     { 
      BackgroundTaskDeferral defferal = sender.GetDeferral(); 
      try 
      { 
       StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 
       await localFolder.CreateFileAsync("bruno.txt", CreationCollisionOption.OpenIfExists); 

      } 
      catch (Exception e) 
      { 
       Debug.WriteLine("Fail to create File test: " + e); 
      } 

      defferal.Complete(); 
     } 

私はのでそれは、呼び出されることはありません知っています次のルーチンは、(アプリはメインページのメソッドを起動したとき、それは動作します)偽に常にある:

答えて

0

この問題では、いくつかの時間を使用した後、私は解決策、Windowsの携帯電話は、システム・トリガーを持っていましたデバイスの起動時に呼び出されタイプ、命名:SessionConnected。

したがって、唯一の簡単な変更が必要です。

builder.SetTrigger(新しいSystemTrigger偽(SystemTriggerType.SessionConnectedを、));

関連する問題