为了账号安全,请及时绑定邮箱和手机立即绑定

Xamarin 服务和表单初始化

Xamarin 服务和表单初始化

C#
qq_花开花谢_0 2022-06-12 11:06:24
我正在编写一个由服务和配置页面组成的 Xamarin Android 应用程序。该服务在设备启动后启动(由BroadcastReceiver启动)并且需要数据库连接来读取配置。当服务尝试读取数据库时,我收到一个错误:您必须调用 Xamarin.Forms.Init(); 在使用它之前。对于数据库连接,我使用的是SQLite.Net。我知道我需要调用Xamarin.Forms.Init()来使用数据库,但我不知道该怎么做。Init() 方法需要上下文和Android.OS.Bundle作为输入,但在 BroadcastReceiver 类中,我只有上下文。如何检索捆绑包?还有另一种方法吗?这是异常堆栈跟踪:at Xamarin.Forms.Device.get_PlatformServices ()   at Xamarin.Forms.Device.GetAssemblies ()   at Xamarin.Forms.DependencyService.Initialize ()   at Xamarin.Forms.DependencyService.Get[T] (Xamarin.Forms.DependencyFetchTarget fetchTarget)   at MyProject.Database.ConfigurationDBService..ctor ()   at MyProject.Utils.ConfigurationUtils.getConfig ()   at MyProject.InvoiceUploadService.OnStartCommand (Android.Content.Intent intent, Android.App.StartCommandFlags flags,System.Int32 startId)
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

我通过在问题的评论中由 SushiHangover 建议运行没有 DependecyService 的数据库连接解决了这个问题。



查看完整回答
反对 回复 2022-06-12
?
侃侃无极

TA贡献2051条经验 获得超10个赞

放:

Xamarin.Forms.Init();

在 Android 项目的 MainActivity.cs 类中。


查看完整回答
反对 回复 2022-06-12
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信