0

バックグラウンド タスクを使用してデータを取得し、ライブ タイル機能を有効にする Windows 8 アプリケーションを開発しました。すべて正常に動作しますが、動作させるには、アプリケーションの設定に移動して手動でオンにする必要があります。プログラムでユーザーからアクティベーションを要求することは可能ですか? これが私のコードです:

private void checkTaskRegistration()
        {
            bool isTaskRegistered = false;

            foreach (var task in BackgroundTaskRegistration.AllTasks)
            {
                if (task.Value.Name == "TileUpdater")
                {
                    isTaskRegistered = true;
                    break;
                }
            }

            if (!isTaskRegistered)
            {
                registerBackgroundTask("TileUpdater", "BackgroundTasks.TileUpdaterBackgroundTask");
            }
        }

        private void registerBackgroundTask(string name, string entrypoint)
        {
            BackgroundTaskBuilder btb = new BackgroundTaskBuilder();
            btb.Name = name;
            btb.TaskEntryPoint = entrypoint;
            btb.SetTrigger(new TimeTrigger(15, false));
            btb.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));
            BackgroundTaskRegistration task = btb.Register();
        }

まず、タスクが既に登録されているかどうかを確認し、登録されていない場合は登録します。

4

1 に答える 1

1

見つけた。あなたはただ呼び出す必要があります:

BackgroundExecutionManager.RequestAccessAsync();

以上です。

于 2013-04-13T16:21:23.837 に答える