2009-06-04 3 views

ответ

1

С беглый взгляд на спецификациях JSR:

(вы можете посмотреть на примеры кода, начиная с добавлением D в спецификации самого, последний JavaME SDK, Sony Ericsson веб-сайт разработчика, то Google)

Как всегда, я бы беспокоился о фрагментации в различных реализациях JSR, но вот моя первая мысль:

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. 

} 

} 

Вам нужно добавить javax.microedition.io.Connector.sensor ваши разрешения мидлетов.

------- EDIT ------

Документация от реализации JSR-256 на Sony-Ericsson Satio телефон (S60 5th Edition):

датчик заряда батареи имеет следующие характеристики:

  • Количество: battery_charge

  • тип Контекст: устройство

  • URL: Датчик: battery_charge; contextType = устройство; Модель = SonyEricsson

  • Каналы: (индекс: название, диапазон, единицы)

  • 0: battery_charge, 0-100, процент

  • 1: charger_state, 0-1, булево

+0

большое спасибо, человек! У нас действительно была отличная помощь! Я попробую и вернусь 2 вас. – Attilah

1

Вы бы добавить javax.microedition.io.Connector.sensor на вкладку API разрешений на Application дескрипторе PROJEC т свойств.