![](/img/trans.png)
[英]Xamarin.Forms DependencyService Get() Method Returns Null in PCL
[英]Call PCL method in background Xamarin.Forms
我目前正在使用xamarin.forms應用(目前僅適用於android)。 如果連接了藍牙設備(該應用未運行),則該應用應執行一些任務。 任務是從傳感器收集一些數據並將其寫入sqlite數據庫。
我設法使用廣播接收器捕獲了藍牙事件...
我的問題是我應該如何收集和寫入這些數據(GPS)?
我可以通過PCL中的一些事件來打電話給他們嗎? 還是我需要一些服務? 還是應該在.android項目中創建該功能?
我是xamarin和android的新手,所以我感謝任何幫助:)
謝謝
我的問題是我應該如何收集和寫入這些數據(GPS)? 我可以通過PCL中的一些事件來打電話給他們嗎? 還是我需要一些服務? 還是應該在.android項目中創建該功能?
有幾種獲取傳感器數據的方法,您可以在PCL
這樣做。
當您在BroadcastReceiver
捕獲bluetooth
事件時,可以在OnReceive
方法中獲取傳感器數據。
您可以使用DependencyService獲取設備傳感器數據,然后將其寫入sqlite
數據庫。 正如文件所說:
Xamarin.Forms允許開發人員定義特定於平台的項目中的行為。 然后,DependencyService找到正確的平台實現,從而允許共享代碼訪問本機功能。
關於DependencyService
用法,您可以閱讀文檔或參考我的回答 。
您可以使用DeviceMotionPlugin獲取這些傳感器數據。 使用此插件時,可以從任何項目或PCL
調用CrossDeviceMotion.Current
以獲得對API的訪問。
您可以在PCL
實現此功能。 使用method 2
或method 3
,可以在PCL
獲取傳感器數據,然后將它們存儲到sqlite中。 仍然使用本機Android API獲取本機Android中的傳感器數據,但是您可以在PCL
使用這些數據 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.