так как я только начинал кодировать Android, я не решался опубликовать свой вопрос, но теперь я нахожусь в точке, где я не могу сопротивляться.
У меня есть служба, которая включает светодиод камеры onCreate:
@Override
public void onCreate() {
// make sure we don't sleep
this.pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
this.mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "SleepLED");
this.mTimer = new Timer();
this.mTimerTask = new TimerTask() {
public void run() {
// turn on the LED
setFlashlight(Camera.Parameters.FLASH_MODE_TORCH);
mWakeLock.acquire();
}
};
// Get the notification-service
this.mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
// Display a notification about us starting. We put an icon in the status bar.
showNotification();
// Open camera
this.frontCam = Camera.open();
this.frontCamPara = frontCam.getParameters();
this.frontCam.lock();
// Schedule the TimerTask
this.mTimer.schedule(mTimerTask, 0);
}
Я могу сказать, что WakeLock срабатывает, я тестировал с FULL_WAKE_LOCK, и он не отключался из-за тайм-аута экрана. Но поскольку экран не обязательно должен быть включен, я не хочу использовать полную блокировку пробуждения.
Cyanogenmod для моего телефона (HTC Legend) содержит приложение-фонарик, которое может делать то, что я хочу. Его исходный код находится здесь:
https://github.com/CyanogenMod/android_packages_apps_Torch/tree/gingerbread/src/net/cactii/flash2
Я заметил, что в этом приложении свет на короткое время выключается, если это намек для кого-то, то явно не для меня ;(
Я не ожидаю, что кто-то изменит мой код, чтобы делать то, что я хочу, но я был бы благодарен, если бы кто-нибудь мог указать мне правильное направление!
Приветствую
SJ