バックグラウンド タスクを使用してデータを取得し、ライブ タイル機能を有効にする 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();
}
まず、タスクが既に登録されているかどうかを確認し、登録されていない場合は登録します。