我必須在類似accelerometer
,compass
等傳感器之上設計一個Sensor Manager
類。該項目將是一個class library
項目,該項目將在其他需要來自傳感器設備的數據的android項目中引用和使用。問題是,爲了在我的Sensor Manager
課程中玩accelerometer
和compass
等設備,我需要Context
。我無法弄清楚在這種情況下如何訪問當前的上下文。在這種情況下,我應該如何獲取Context?
我應該問我的Sensor Manager
的呼叫者/用戶在某些方法的參數中通過Context
嗎?如果多個班級或活動將使用我的傳感器管理器,該怎麼辦?實際上,我只會使用一個上下文,會導致問題嗎?
或者是否有任何簡單,安全和可靠的方式來獲取當前應用程序的上下文?
更新
這是我目前的設計...
我已經實現單對的SensorManager,也爲裏面的SensorManager每個設備。例如,SensorManager內部只有一個Accelerometer實例。調用者將獲得SensorManager,然後調用方法RegisterForAccelerometer。因此,只要SensorManager的Accelerometer實例內的加速度計座標有任何更新,將通知所有註冊的呼叫者。現在問題來了,當我嘗試開始第一次聽取加速度計座標時,因爲我需要上下文。
我已經更新了設計細節的問題。請看看它。它設計不正確,因爲我正在嘗試使用一個上下文來偵聽多個客戶端/調用者? –