2009-06-04 5 views

Antwort

1

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

+0

vielen dank, mann! Sie waren wirklich eine große Hilfe! Ich werde es versuchen und 2 Sie zurückbekommen. – Attilah

1

Sie würden javax.microedition.io.Connector.sensor auf die API Registerkarte Berechtigungen des Application Descriptor des projec hinzufügen t Eigenschaften.