2016-04-25 25 views
0

アプリケーションがバックグラウンドのときに特定の作業を行うバックグラウンドタスクのサポートを追加するUWPアプリケーションがあります。 は、私はそれがここで言及されているとおりにやっている:https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-taskバックグラウンドタスクがUWPで実行されない

を私はバックグラウンドタスクのための1つの別個のプロジェクトを持っているし、私のパッケージマニフェストファイルに私はTimerTriggerを使用していますので、私のアプリはバックグラウンドタスク(ただし、「タイマー」タスクを使用していることを宣言しました)。コード:私は(Visual Studioのを経由して)私のアプリを起動して、私のアプリを中断するドロップダウンライフサイクルイベントを使用する場合

BackgroundTaskBuilder backgroundTaskBuilder = new BackgroundTaskBuilder { Name = "NotificationUpdater", TaskEntryPoint = "NamespaceOfMyBackgroundTaskInterfaceImplementation.BackgroundTask"}; 

backgroundTaskBuilder.SetTrigger(new TimeTrigger(15, false)); 

BackgroundTaskRegistration backgroundTaskRegistration = backgroundTaskBuilder.Register(); 

、それはBackgroundTaskのクラスのRun()メソッド(IBackgroundTaskインタフェースの実装)を実行することはありません。 BackgroundTaskのクラス内の コード:それは会話で判明したように

namespace NamespaceOfMyBackgroundTaskInterfaceImplementation 
{ 
    public sealed class BackgroundTask : IBackgroundTask 
    { 
     public async void Run(IBackgroundTaskInstance taskInstance) 
     { 
      //Code to run in the background 
     } 
    } 
} 
+0

マニフェストファイルにエントリポイントを宣言し、メインプロジェクトで参照を追加して、BTaskをランタイムコンポーネントにしましたか?また、[回答時の手順](http://stackoverflow.com/a/24076237/2681948)をご覧ください。 – Romasz

+0

はい、私は、マニフェストファイルのエントリポイントを宣言して、私のアプリプロジェクトで参照を追加しました。私のBakgroundTaskはUWPアプリケーションを開発して以来、実際にはUniversal Windowsクラスライブラリです。 – tavier

+0

ああ、私はそれが私が間違っていると思う。 – tavier

答えて

1

、問題は、プロジェクトタイプの間違った宣言していました。で、Windowsランタイムコンポーネントする必要があります。

フォロワーについては、手順を説明しているat this answerをご覧ください。 Silverlight 8.1に回答しますが、手順と手順はWinRTUWPで同じです。

+0

ちょっと@ロマズちょうどここにこの1つの考えがあるかどうかをチェックしたいと思った:http://stackoverflow.com/questions/36837912/background-agent-in-uwp – tavier

+0

@AshishAgrawalいいえ - それについての考えはありません。あなたはそれらの情報がどこから来たと言うことができますか? – Romasz

+0

両方のプラットフォームでいくつかの検証を実行することによって、私はそれを理解しました。 – tavier

関連する問題