繁体   English   中英

在后台Xamarin.Forms中调用PCL方法

[英]Call PCL method in background Xamarin.Forms

我目前正在使用xamarin.forms应用(目前仅适用于android)。 如果连接了蓝牙设备(该应用未运行),则该应用应执行一些任务。 任务是从传感器收集一些数据并将其写入sqlite数据库。

我设法使用广播接收器捕获了蓝牙事件...

我的问题是我应该如何收集和写入这些数据(GPS)?

我可以通过PCL中的一些事件来打电话给他们吗? 还是我需要一些服务? 还是应该在.android项目中创建该功能?

我是xamarin和android的新手,所以我感谢任何帮助:)

谢谢

我的问题是我应该如何收集和写入这些数据(GPS)? 我可以通过PCL中的一些事件来打电话给他们吗? 还是我需要一些服务? 还是应该在.android项目中创建该功能?

有几种获取传感器数据的方法,您可以在PCL这样做。

方法1:

当您在BroadcastReceiver捕获bluetooth事件时,可以在OnReceive方法中获取传感器数据。

方法2:

您可以使用DependencyService获取设备传感器数据,然后将其写入sqlite数据库。 正如文件所说:

Xamarin.Forms允许开发人员定义特定于平台的项目中的行为。 然后,DependencyService找到正确的平台实现,从而允许共享代码访问本机功能。

关于DependencyService用法,您可以阅读文档或参考我的回答

方法3:

您可以使用DeviceMotionPlugin获取这些传感器数据。 使用此插件时,可以从任何项目或PCL调用CrossDeviceMotion.Current以获得对API的访问。

更新:

您可以在PCL实现此功能。 使用method 2method 3 ,可以在PCL获取传感器数据,然后将它们存储到sqlite中。 仍然使用本机Android API获取本机Android中的传感器数据,但是您可以在PCL使用这些数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM