出于设计原因,我必须将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