2012-01-11 21 views
2

バックグラウンドエージェントが2つのインスタンスを作成するため、投稿に失敗しました(過去のアップロード確認を取得できませんでしたが、理由を特定できません)。ここスケジュールされたタスクが2回表示されます

は、ここapp.xaml.cs方法において、(Iも同じ結果とMainPageVM.csとMainPage.xaml.csでそれを配置しようとしている)

private void RegisterBackgroundTask() 
{ 
    var taskName = "xxUpdater"; 
    var oldTask = ScheduledActionService.Find(taskName) as PeriodicTask; 
    if (oldTask != null) 
    { 
     ScheduledActionService.Remove(taskName); 
    } 
    PeriodicTask task = new PeriodicTask(taskName); 
    task.Description = Strings.xxBackgroundTaskDescription; 
    oldTask = ScheduledActionService.Find(taskName) as PeriodicTask; 
    if (oldTask == null) 
    { 
     ScheduledActionService.Add(task);     
    } 
    //ScheduledActionService.LaunchForTest(taskName, TimeSpan.FromSeconds(60)); 
} 

が通話でありますアプリケーション起動時:

private void Application_Launching(object sender, LaunchingEventArgs e) 
{ 
     { RegisterBackgroundTask(); } 
} 

初めてアプリを実行したとき、私はバックアウトして見て、1つのタスクがあります。その後、私は再び実行し、ステップスルーし、削除呼び出しは(それを削除する代わりに)タスクをオフにします。それが追加呼び出しに達すると、元のタスクはオンになるだけでなく、別のタスクが追加されます。その時点で、私がアプリを取り戻して再起動すると、removeは1つのインスタンスをオフにし、もう一方のインスタンスを残し、Addコールはそれを再びオンにします。再構築またはアンインストールの後を除いて、oldTaskはnullではありません。

if(oldTask == old)は最初は存在しませんでしたが、2番目のインスタンスの作成を妨げることを期待して追加しました。ときには、私がアンインストールすると、バックグラウンドタスクがまだオフになっているので、電話を消してから離れるようにする必要があります。

+0

私はアップロード時に検証を失敗します。「スケジュールされたバックグラウンドエージェントタイプのインスタンスを1つ以上定義することはできません。(2019)」 –

答えて

10

私が取り組んでいるプロジェクトで同じ問題があります。
何らかの理由で私はWMAppManifest.xmlにbackgroundtaskを2回定義しました
WMAppManifest.xmlをチェックして、それも2度定義されているかどうかを確認してください。

+0

これは完了したようです!私は一日を過ごし、数多くの人々に質問しましたが、誰もこれを示唆していませんでした。ありがとう! –