出於設計原因,我必須將Android傳感器特定的代碼實現到類extends Service
。例如,使用上下文訪問Android服務
public class SmokeService extends Service implements ISmokeDetector {
SensorManager mySensorManager;
Sensor myProximitySensor;
private double currentLightReading;
private Context myContext;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
myProximitySensor = mySensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mySensorManager.registerListener(proximitySensorEventListener, myProximitySensor, SensorManager.SENSOR_DELAY_NORMAL);
}
SensorEventListener proximitySensorEventListener = new SensorEventListener() {
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
}
};
@Override
public SmokePresenceStruct getsmokePresence() {
return new SmokePresenceStruct(true, timestamp);
}
@Override
public void getsmokePresence(ListenersmokePresence handler) {
handler.onNewsmokePresence(this.getsmokePresence());
}
@Override
public boolean isEventDriven() {
}
}
我的問題是,「有沒有辦法通過非Android的Java類,以啓動上述服務?」比方說,我有一個Java類,誰擁有上下文,它要開始這個服務。例如:
public class AndroidSmokeDetector {
Context myContext;
public AndroidSmokeDetector(Context context, Object obj) {
//super(context);
this.myContext = context;
}
}
可以請教我通過AndroidSmokeDetector
類與服務交互的方式。假設我將從MainActivity
獲取上下文?」
但AndroidSmokeDetector類未使用Activity進行擴展。所以,我想這是不可能的。我已經嘗試了這一點,但是這對我有限的Android知識來說是不可能的。 – Pankesh 2013-05-06 17:33:54
@PankeshPatel將活動上下文傳遞給AndroidSmokeDetector類的構造函數。 – Raghunandan 2013-05-06 17:35:47
你有一個具有上下文參數的構造函數,只要你有一個上下文就可以了。 – 2013-05-06 17:38:02