Wie kann ich feststellen, wenn das Netzkabel mit JSR 256 aus der Steckdose gezogen wird?JSR 256 Batterieereignisse
Antwort
Von einem kurzen Blick auf den Spezifikationen des JSR:
(möglicherweise für Code-Beispiele aussehen will, mit Anhang D der Spezifikation selbst beginnen, Website der neuesten JavaME SDK, Sony Ericsson Entwickler, dann google)
Wie immer würde ich mich über die Fragmentierung in den verschiedenen Implementierungen der JSR besorgt sein, aber hier ist meine erste Idee:
import javax.microedition.sensor.*;
SensorInfo[] powerSensorInfoArray = SensorManager.findSensors("power","ambient");
//let's assume there is one SensorInfo in the array.
//open a connection to the sensor.
SensorConnection connection = (SensorConnection)Connector.open(powerSensorInfoArray[0].getUrl(), Connector.READ);
// add a DataListener to the connection
connection.setDataListener(new MyDataListener(), 1);
// implement the data listener
public class MyDataListener implements DataListener {
public void dataReceived(SensorConnection aSensor, Data[] aDataArray, boolean isDataLost) {
//let's assume there is only one channel for the sensor and no data was lost.
// figure out what kind of data the channel provides.
int dataType = aDataArray[0].getChannelInfo().getDataType();
//now, I suggest you switch on dataType and print the value on the screen
// experimentation on the JSR256 implementation you're targetting seems to be
// the only way to figure out out power data is formatted and what values mean.
//only one of the following 3 lines will work:
double[] valueArray = aDataArray[0].getDoubleValues();
int[] valueArray = aDataArray[0].getIntValues();
Object[] valueArray = aDataArray[0].getObjectValues();
// let's assume one value in the valueArray
String valueToPrint = "" + valueArray[0];
// see what happens with that and you plug or unplug the power supply cable.
}
}
Sie werden javax.microedition.io.Connector.sensor
zu Ihren MIDlet-Berechtigungen hinzufügen müssen.
------- ------ EDIT
Dokumentation von der JSR-256-Implementierung auf Sony-Ericsson Satio Handy (S60 5th Edition):
Der Batterieladesensor hat die folgenden Eigenschaften:
Menge: battery_charge
Context: Geräte
URL: Sensor: battery_charge; context = device; Modell Sony Ericsson =
Kanäle: (Index: Name, Reichweite, unit)
0: battery_charge, 0-100, Prozent
1: charger_state, 0-1, boolean
Sie würden javax.microedition.io.Connector.sensor auf die API Registerkarte Berechtigungen des Application Descriptor des projec hinzufügen t Eigenschaften.
vielen dank, mann! Sie waren wirklich eine große Hilfe! Ich werde es versuchen und 2 Sie zurückbekommen. – Attilah