C# 无法执行Windows phone 8.1后台任务';t注册后台任务
我刚从 并尝试运行windows phone 8.1项目。程序运行,但即使在我进行更改以触发事件时,也没有发生后台任务。我也不认为这是注册运行作为一个后台任务,因为我没有收到任何请求添加应用程序锁屏。我无法手动将应用程序添加到锁定屏幕。 注:使用Lumia 730搭配8.1牛仔布 我还尝试自己编写一个示例程序,使用silverlight 8.1和后台作为RT组件C# 无法执行Windows phone 8.1后台任务';t注册后台任务,c#,silverlight,windows-phone-8.1,background-task,C#,Silverlight,Windows Phone 8.1,Background Task,我刚从 并尝试运行windows phone 8.1项目。程序运行,但即使在我进行更改以触发事件时,也没有发生后台任务。我也不认为这是注册运行作为一个后台任务,因为我没有收到任何请求添加应用程序锁屏。我无法手动将应用程序添加到锁定屏幕。 注:使用Lumia 730搭配8.1牛仔布 我还尝试自己编写一个示例程序,使用silverlight 8.1和后台作为RT组件 if (BackgroundTaskRegistration.AllTasks.Any(task => task.Value.N
if (BackgroundTaskRegistration.AllTasks.Any(task => task.Value.Name == name))
{
// One register it once
return;
}
var builder = new BackgroundTaskBuilder();
var trigger = new SystemTrigger(SystemTriggerType.UserAway, false);
builder.Name = name;
builder.TaskEntryPoint = typeof(MyBackgroundTask.BackClass).FullName; builder.SetTrigger(trigger);
await BackgroundExecutionManager.RequestAccessAsync();
BackgroundTaskRegistration registration = builder.Register();
registration.Completed += RegistrationOnCompleted;
这里也有例外
BackgroundTaskRegistration registration = builder.Register();
例外情况是运行时状态
> A first chance exception of type 'System.Exception' occurred in
> Project1.DLL
你没有提到例外情况是什么,也没有提到例外情况的文本是什么。这使得很难回答 然而,假设您的错误为“未注册类”,则需要执行以下几项操作:
MyBackgroundTask.BackClass
是Windows运行时组件项目中的类(它不能在Silverlight项目中)我试着在我的背景任务中添加BackgroundTaskDelay,它开始工作了。我想知道为什么,因为这只是异步调用。不管怎么说,这对我很有效。
感谢您的帮助我找到了此问题的解决方案:
public async static void Register()
{
Debug.WriteLine("Registering geofence bg task");
if (!IsTaskRegistered())
{
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = TaskName;
builder.TaskEntryPoint = typeof(BackgroundTask.YourTaskName).FullName;
builder.SetTrigger(new LocationTrigger(LocationTriggerType.Geofence));
try
{
builder.Register();
Debug.WriteLine("GeoFence Task Registered");
}
catch (Exception ex)
{
Debug.WriteLine("GeoFence Task Failed : " + ex.Message.ToString());
}
}
else { }
}
希望能有帮助,同样的问题。原来Package.appxmanifest中的入口点参数拼写为“Module:EntryPoint”,而不是“Module.EntryPoint”。将冒号改为句号是我唯一要做的事。对此表示抱歉。但是我相信手机设置有一些问题,因为我能够在模拟器中测试程序,并且工作正常。仍然想知道如何在我的手机中运行应用程序如果你向下钻取或查看输出窗口,异常中是否没有更多信息?通常会有更详细的描述。你有没有把节电器打开?已经安装了很多后台任务吗?你试过别的电话吗?