Ich erstelle eine App, die einen Dienst startet, wenn die Schaltfläche „Start“ gedrückt wird, und ihn stoppt, wenn die Schaltfläche „Stopp“ gedrückt wird. Im Dienst registriere ich einen Listener für den Sensor ACCELEROMETER, damit ich die Beschleunigungsmesserwerte der x-, y- und z-Achsen erhalte. Aber wenn ich meine Anwendung stoppe und die Registrierung des Listeners vom Sensor aufhebe, erhalte ich auch dann meine Beschleunigungsmesserwerte.
// Service
public class Accel extends Service
{
private static Context CONTEXT;
private static Sensor sensor;
private static SensorManager sensorManager;
private static boolean running = false;
@Override
public void onCreate()
{
}
// code to execute when the service is shutting down
@Override
public void onDestroy()
{
if (isListening())
stopListening();
}
// code to execute when the service is starting up
@Override
public void onStart(Intent intent, int startid)
{
CONTEXT = this;
startListening(this);
}
public static Context getContext()
{
return CONTEXT;
}
// Returns true if the manager is listening to orientation changes
public static boolean isListening()
{
return running;
}
//Unregisters listeners
public static void stopListening()
{
running = false;
sensorManager.unregisterListener(sensorEventListener, sensor);
}
/**
* Registers a listener and start listening
* @param accelerometerListener
* callback for accelerometer events
*/
public static void startListening(AccelerometerListener accelerometerListener)
{
sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
List sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0)
{
sensor = sensors.get(0);
running = sensorManager.registerListener(sensorEventListener, sensor, SensorManager.SENSOR_DELAY_GAME);
listener = accelerometerListener;
}
}
/**
* The listener that listen to events from the accelerometer listener
*/
private static SensorEventListener sensorEventListener =
new SensorEventListener()
{
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
public void onSensorChanged(SensorEvent event)
{
// the code to perform on sensor change
}
};
Ich erstelle eine App, die einen Dienst startet, wenn die Schaltfläche „Start“ gedrückt wird, und ihn stoppt, wenn die Schaltfläche „Stopp“ gedrückt wird. Im Dienst registriere ich einen Listener für den Sensor ACCELEROMETER, damit ich die Beschleunigungsmesserwerte der x-, y- und z-Achsen erhalte. Aber wenn ich meine Anwendung stoppe und die Registrierung des Listeners vom Sensor aufhebe, erhalte ich auch dann meine Beschleunigungsmesserwerte.
Hier ist der Code:
[code]// Service public class Accel extends Service { private static Context CONTEXT; private static Sensor sensor; private static SensorManager sensorManager; private static boolean running = false;
@Override public void onCreate() { }
// code to execute when the service is shutting down @Override public void onDestroy() { if (isListening()) stopListening(); }
// code to execute when the service is starting up @Override public void onStart(Intent intent, int startid) { CONTEXT = this; startListening(this); }
public static Context getContext() { return CONTEXT; }
// Returns true if the manager is listening to orientation changes public static boolean isListening() { return running; }
/** * Registers a listener and start listening * @param accelerometerListener * callback for accelerometer events */ public static void startListening(AccelerometerListener accelerometerListener) { sensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE); List sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER); if (sensors.size() > 0) { sensor = sensors.get(0); running = sensorManager.registerListener(sensorEventListener, sensor, SensorManager.SENSOR_DELAY_GAME); listener = accelerometerListener; } }
/** * The listener that listen to events from the accelerometer listener */ private static SensorEventListener sensorEventListener = new SensorEventListener() { public void onAccuracyChanged(Sensor sensor, int accuracy) {} public void onSensorChanged(SensorEvent event) { // the code to perform on sensor change } }; [/code]
Ich versuche, in Seastar einen TCP-Listener pro Shard zu starten, bei dem jeder Shard an seinen eigenen Port (6010 + Shard_ID) bindet. Auf Shard 0 funktioniert alles – der Listener bindet und...
Der Sensor wird 7-in-1-Luftqualitätserkennungsmodul M701
Ich habe den Sensor an meinen Arduino-Mega-RX-Pin angeschlossen, um die Daten daraus zu lesen, und dies ist die Ausgabe,
3C 02 01 BD 00 0C...
Aufgrund einiger Entwicklungsbeschränkungen bei der Verwendung von .NET 8 muss ich einen wiederverwendbaren Dienst verwalten. Diese müssen entweder vorübergehend oder Singleton sein, aber 1 von 3...