BackgroundTaskBuilder.Register中拒绝访问

时间:2012-06-04 12:04:14

标签: windows-8 windows-runtime microsoft-metro

var builder=new BackgroundTaskBuilder();

builder.Name=name;
builder.TaskEntryPoint=taskEntryPoint;
builder.SetTrigger(trigger);

if(condition!=null)
  builder.AddCondition(condition);

builder.Register(); // in this step I get exception System.UnauthorizedAccessException. Additional information: Access is denied.

此异常在Windows 8发布预览中引发。 在消费者预览中,我没有得到这个例外。

我使用SystemTrigger(SystemtriggerType.UserPresent)和SystemCondition(SystemConditionType.InternetAvailable)

在Package.appxmanifest文件中,我将System event复选框设置为true并输入Entry point值。 同样在Package.appxmanifest代码中我删除了'Executable'属性。

也许有人知道我该如何解决它?

提前谢谢!

1 个答案:

答案 0 :(得分:5)

但是,某些SystemTriggers确实需要将应用程序置于锁定屏幕上: SessionConnected,UserPresent,UserAway和ControlChannelReset如果您使用这些触发器而不在锁定屏幕上进行操作,则BackgroundTaskBuilder.Register()调用将失败并显示“acess denied”