Как я могу обнаружить, когда шнур питания отсоединен от электрической розетки с помощью JSR 256?События батареи JSR 256
ответ
С беглый взгляд на спецификациях 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, булево
Вы бы добавить javax.microedition.io.Connector.sensor на вкладку API разрешений на Application дескрипторе PROJEC т свойств.
большое спасибо, человек! У нас действительно была отличная помощь! Я попробую и вернусь 2 вас. – Attilah