Привет!
Кроме Диктофона, я ещё хотел на телефон Фонарик. К своей радости сегодня обнаружил, что Fun Light API работает на E798, но, увы, через него можно управлять только подсветкой дисплея, кнопок и динамиков. А вот фонарик не включается. Для устройств подстветки существуют т.н. регионы, с их идентификаторами:
1 - Display
2 - Keypad
3 - Sideband
Через стандартные АПИ нет возможности вызова вспышки. Тогда я полез в Funlight Editor, который умеет делать .pat файлы для вспышки, сделал несколько примитивных .pat файлов и через сравнение выяснил, что в его внутреннем формате элементы ритм-подстветки идентифицируются точно так же - 1, 2, 3. Но ещё - для вспышки используется идентификатор 6. Стандартными средствами Fun Light API получить регион с ID = 6 оказалось невозможно, возвращает BlankRegion. Но я не унывал: стал ломать Fun Light API, после изучения "медузовской" сводки классов прошвки 373 написал заглушку:
Может у кого-то получилось вызвать вспышку через Java? Или есть какие-то мысли? Может, через Java можно активировать ритм-подстветку?
А писать Фонарик без возможности включения вспышки... Кхм
. Не хочу :)
Кроме Диктофона, я ещё хотел на телефон Фонарик. К своей радости сегодня обнаружил, что Fun Light API работает на E798, но, увы, через него можно управлять только подсветкой дисплея, кнопок и динамиков. А вот фонарик не включается. Для устройств подстветки существуют т.н. регионы, с их идентификаторами:
1 - Display
2 - Keypad
3 - Sideband
Через стандартные АПИ нет возможности вызова вспышки. Тогда я полез в Funlight Editor, который умеет делать .pat файлы для вспышки, сделал несколько примитивных .pat файлов и через сравнение выяснил, что в его внутреннем формате элементы ритм-подстветки идентифицируются точно так же - 1, 2, 3. Но ещё - для вспышки используется идентификатор 6. Стандартными средствами Fun Light API получить регион с ID = 6 оказалось невозможно, возвращает BlankRegion. Но я не унывал: стал ломать Fun Light API, после изучения "медузовской" сводки классов прошвки 373 написал заглушку:
Код
package com.motorola.funlight;
class RegionImpl
{
static native int getColor0(int i1);
static native String getName0(int i1);
static native int updateColor0(int i1, int i2);
static native int updateControl0(int i1, boolean b1);
}
...
и стал вызывать напрямую методы RegionImpl.updateColor0, RegionImpl.updateControl0. Работало, но опять-таки только для идентификаторов 1, 2, 3 но не 6. :( Я перебрал все идентификаторы от -1000 до 65535, а также -Integer.MAX_VALUE и др. Не работает. Погрустивши, стал искать все другие возможности, включая com.motorola.synerj.apps.mmedia.Camera, iMelody... Нет. (Попутно выяснилось, что на E798 iMelody не поддерживает комант "backon", "ledon", "vibeon").class RegionImpl
{
static native int getColor0(int i1);
static native String getName0(int i1);
static native int updateColor0(int i1, int i2);
static native int updateControl0(int i1, boolean b1);
}
...
Может у кого-то получилось вызвать вспышку через Java? Или есть какие-то мысли? Может, через Java можно активировать ритм-подстветку?
А писать Фонарик без возможности включения вспышки... Кхм
