Autore Topic: FlashLight - una libreria per usare il led del device come torcia  (Letto 3075 volte)

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Ciaoa a tutti !
Sto realizzando una libreria per android, che permette di usare i led dei device.
Per ora ho potuto testarla fisicamente solo su Samsumg Galaxy i7500, con piattaforma Android 1.6  :-) e funziona perfettamente.
Teoricamente dovrebbe funzionare anche su :
  • HTC
  • Motorola
  • LG
  • Sony Ericsson

E comunque su i dispositivi a partire da Android 2.0 in su  :-P
Se qualcuno può provare ad eseguire l'applicazione allegata e riportare eventuali bug con il proprio dispositivo gliene sarei grato.

P.S. : Se la provate rispondete al topic specificando con quale dispositivo e l'esito  ;-)

P.P.S : Dimenticavo, l'app è proprio banale, c'è un ToggleButton in mezzo allo schermo per attivare/disattivare. Un Toast apparirà dopo la pressione del tasto per segnalare l'evento.
Graditissimi anche eventuali logcat !

REVISIONE 19/4/11
Aggiornamento dell'app disponibile : versionCode 2

Grazie a tutti !
« Ultima modifica: 19 Aprile 2011, 17:53:36 CEST da teskio »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #1 il: 19 Aprile 2011, 14:37:27 CEST »
Su Galaxy Tab 7" (firmware XWJMI 2.2) non va:

Codice: [Seleziona]
04-19 12:32:11.366: VERBOSE/WindowManager(2708): Delivering toWindow{48d15040 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher paused=false}
04-19 12:32:11.464: DEBUG/dalvikvm(2818): GC_EXTERNAL_ALLOC freed 9705 objects / 676832 bytes in 36ms
04-19 12:32:11.530: VERBOSE/Launcher(2818): startActivitySafely maruca.lib.flashlight
04-19 12:32:11.530: VERBOSE/WindowManager(2708): Delivering toWindow{48d15040 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher paused=false}
04-19 12:32:11.530: INFO/ActivityManager(2708): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=maruca.lib.flashlight/.LightActivity }
04-19 12:32:11.557: WARN/Launcher(2818): ================6
04-19 12:32:11.573: INFO/Launcher(2818): onPause()
04-19 12:32:11.581: INFO/ActivityManager(2708): Start proc maruca.lib.flashlight for activity maruca.lib.flashlight/.LightActivity: pid=5055 uid=10090 gids={1006}
04-19 12:32:11.620: WARN/ResourceType(2708): Skipping entry 0x7f040002 in package table 0 because it is not complex!
04-19 12:32:11.624: WARN/ResourceType(2708): Skipping entry 0x7f040003 in package table 0 because it is not complex!
04-19 12:32:11.647: INFO/Launcher(2818): onWindowFocusChanged(false)
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): ***Device info***
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Device : GT-P1000
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Product : GT-P1000
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Model : GT-P1000
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Brand : samsung
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Board : GT-P1000
04-19 12:32:11.659: DEBUG/LED LIGHTER(5055): Android SDK : 8
04-19 12:32:11.659: DEBUG/Moment Flash(5055): LOADING momentflash JNI lib
04-19 12:32:11.659: INFO/global(2708): Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
04-19 12:32:11.714: INFO/AxT9IME(2800): AxT9IME::onStartInput(false)
04-19 12:32:11.714: INFO/AxT9IME(2800): AxT9IME::isUsingHWKeypad()
04-19 12:32:11.714: DEBUG/AxT9IME(2800): AxT9IME::isUsingHWKeypad() ret : false
04-19 12:32:15.913: VERBOSE/WindowManager(2708): Delivering toWindow{48ba5438 Sorry... paused=false}
04-19 12:32:15.991: VERBOSE/WindowManager(2708): Delivering toWindow{48ba5438 Sorry... paused=false}
04-19 12:32:16.714: ERROR/ShutdownThread(2708): IsShutDownStarted()
04-19 12:32:16.714: INFO/KeyInputQueue(2708): Input event
04-19 12:32:16.714: DEBUG/KeyInputQueue(2708): screenCaptureKeyFlag setting 1
04-19 12:32:16.725: VERBOSE/WindowManager(2708): Dsptch to Window{48ba5438 Sorry... paused=false}
04-19 12:32:16.729: INFO/AxT9IME(2800): AxT9IME::onKeyDown(4)
04-19 12:32:16.729: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() capsLockfalse
04-19 12:32:16.729: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() event.isShiftPressed()false
04-19 12:32:16.729: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() event.isCustomPressed() : false
04-19 12:32:16.729: INFO/AxT9IME(2800): AxT9KeyboardView::handleBack()
04-19 12:32:16.729: WARN/KeyCharacterMap(5055): No keyboard for id 0
04-19 12:32:16.729: WARN/KeyCharacterMap(5055): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-19 12:32:16.803: ERROR/ShutdownThread(2708): IsShutDownStarted()
04-19 12:32:16.803: INFO/KeyInputQueue(2708): Input event
04-19 12:32:16.803: DEBUG/KeyInputQueue(2708): screenCaptureKeyFlag setting 0
04-19 12:32:16.807: VERBOSE/VibratorService(2708): vibrateImmVibe: 13, magnitude: -1
04-19 12:32:16.807: VERBOSE/VibratorService(2708): setVibeStrength = 10000
04-19 12:32:16.811: INFO/AxT9IME(2800): AxT9IME::onKeyUp(4)
04-19 12:32:16.811: VERBOSE/WindowManager(2708): Dsptch to Window{48ba5438 Sorry... paused=false}
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9IME::onFinishInput()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9KeyboardHwrView::closing()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9KeyboardView::closing()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9KeyboardView::removeActionPopup()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9KeyboardView::dismissPopupKeyboard()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9KeyboardView::removeAllMsg()
04-19 12:32:16.815: DEBUG/AxT9IME(2800): AxT9IME.setLastEngCapsMode : UNKNOWN
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9IME::setDefaultTextInputMode()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9SipMgr::setInputMode(1)
04-19 12:32:16.815: DEBUG/AxT9IME(2800): AxT9IME.setDefaultTextInputMode() : 1
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9IME::initSuggestionList()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9CoreService::clearAllSymbs()
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9IME::onStartInput(false)
04-19 12:32:16.815: INFO/AxT9IME(2800): AxT9IME::isUsingHWKeypad()
04-19 12:32:16.815: DEBUG/AxT9IME(2800): AxT9IME::isUsingHWKeypad() ret : false
04-19 12:32:16.874: DEBUG/dalvikvm(4746): GC_EXPLICIT freed 11961 objects / 626808 bytes in 39ms
04-19 12:32:19.553: ERROR/ShutdownThread(2708): IsShutDownStarted()
04-19 12:32:19.553: INFO/KeyInputQueue(2708): Input event
04-19 12:32:19.553: DEBUG/KeyInputQueue(2708): screenCaptureKeyFlag setting 1
04-19 12:32:19.561: VERBOSE/WindowManager(2708): Dsptch to Window{48c4d180 maruca.lib.flashlight/maruca.lib.flashlight.LightActivity paused=false}
04-19 12:32:19.565: INFO/AxT9IME(2800): AxT9IME::onKeyDown(4)
04-19 12:32:19.565: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() capsLockfalse
04-19 12:32:19.565: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() event.isShiftPressed()false
04-19 12:32:19.565: DEBUG/AxT9IME(2800): AxT9IME::onKeyDown() event.isCustomPressed() : false
04-19 12:32:19.565: INFO/AxT9IME(2800): AxT9KeyboardView::handleBack()
04-19 12:32:19.717: ERROR/ShutdownThread(2708): IsShutDownStarted()
04-19 12:32:19.717: INFO/KeyInputQueue(2708): Input event
04-19 12:32:19.717: DEBUG/KeyInputQueue(2708): screenCaptureKeyFlag setting 0
04-19 12:32:19.721: VERBOSE/VibratorService(2708): vibrateImmVibe: 13, magnitude: -1
04-19 12:32:19.725: VERBOSE/VibratorService(2708): setVibeStrength = 10000
04-19 12:32:19.729: VERBOSE/WindowManager(2708): Dsptch to Window{48c4d180 maruca.lib.flashlight/maruca.lib.flashlight.LightActivity paused=false}
04-19 12:32:19.733: INFO/AxT9IME(2800): AxT9IME::onKeyUp(4)
04-19 12:32:19.749: INFO/Launcher(2818): onResume(). mIsNewIntent : false
04-19 12:32:19.753: INFO/Launcher(2818): Clearing the Status Bar lock in onResume function
04-19 12:32:19.753: ERROR/Launcher(2818): setWindowOpaque()
04-19 12:32:19.753: DEBUG/StatusBar(2708): manageDisableList what=0x0 pkg=com.sec.android.app.twlauncher
04-19 12:32:19.796: INFO/Launcher(2818): onResume() ended
04-19 12:32:19.800: INFO/Launcher(2818): onWindowFocusChanged(true)
04-19 12:32:19.803: ERROR/Launcher(2818): setWindowOpaque()
04-19 12:32:19.862: WARN/ResourceType(2708): Skipping entry 0x7f040004 in package table 0 because it is not complex!
04-19 12:32:19.866: WARN/ResourceType(2708): Skipping entry 0x7f040005 in package table 0 because it is not complex!
04-19 12:32:19.878: INFO/ActivityManager(2708): No longer want com.google.android.apps.maps:NetworkLocationService (pid 4594): hidden #16
04-19 12:32:19.893: WARN/ActivityManager(2708): Scheduling restart of crashed service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService in 5000ms
04-19 12:32:24.913: INFO/ActivityManager(2708): Start proc com.google.android.apps.maps:NetworkLocationService for service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService: pid=5069 uid=10050 gids={3003, 1015}
04-19 12:32:24.932: INFO/Zygote(5069): Zygote: pid 5069 has INTERNET permission, then set capability for CAP_NET_RAW
04-19 12:32:24.944: DEBUG/dalvikvm(5069): Debugger has detached; object registry had 1 entries
04-19 12:32:25.073: DEBUG/InternalNlpService(5069): onCreate
04-19 12:32:25.073: DEBUG/NetworkLocationServiceThread(5069): start monitoring enabled
04-19 12:32:25.081: DEBUG/NetworkLocationServiceThread(5069): updateState
04-19 12:32:25.108: INFO/global(5069): Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
04-19 12:32:25.112: DEBUG/NetworkLocationServiceThread(5069): Creating RealOs
04-19 12:32:25.159: DEBUG/dalvikvm(2822): GC_EXPLICIT freed 1658 objects / 84672 bytes in 27ms
04-19 12:32:25.186: DEBUG/UNA(4109): [PackageAgent] Finalizing
04-19 12:32:25.186: DEBUG/dalvikvm(4109): GC_EXPLICIT freed 132 objects / 7136 bytes in 107ms
04-19 12:32:25.194: VERBOSE/WifiProgressStore(5069): WifiProgressStore Created
04-19 12:32:25.194: INFO/global(5069): Default buffer size used in BufferedInputStream constructor. It would be better to be explicit if an 8k buffer is required.
04-19 12:32:25.409: DEBUG/WifiService(2708): acquireWifiLockLocked: WifiLock{NetworkLocationLocator type=2 binder=android.os.BinderProxy@488cceb8}
04-19 12:32:25.413: VERBOSE/AlarmManager(2708): set: Alarm{48cda2e8 type 2 com.google.android.apps.maps}
04-19 12:32:25.413: VERBOSE/AlarmManager(2708): set: Alarm{48ca35d0 type 2 com.google.android.apps.maps}
04-19 12:32:25.425: VERBOSE/AlarmManager(2708): set: Alarm{48c67fa8 type 2 com.google.android.apps.maps}
04-19 12:32:25.722: WARN/PowerManagerService(2708): Timer 0x7->0x3|0x1
04-19 12:32:25.722: INFO/PowerManagerService(2708): Ulight 7->3|0
04-19 12:32:26.425: INFO/WifiMonitor(2708): Event [ SCAN-RESULTS ]
04-19 12:32:26.436: INFO/wpa_supplicant(2793): SAN_RESULTS : [6]
04-19 12:32:26.436: INFO/wpa_supplicant(2793): SAN_RESULTS : [6]
04-19 12:32:26.448: DEBUG/WifiLocator(5069): Good cache hits. Computing WiFi location locally hasLocation=6 noLocation=0 cacheMiss=0
04-19 12:32:26.448: DEBUG/WifiLocator(5069): Computing loaction using MaxLre.
04-19 12:32:26.561: DEBUG/dalvikvm(5069): GC_FOR_MALLOC freed 26958 objects / 1223616 bytes in 31ms
04-19 12:32:26.573: DEBUG/WifiLocator(5069): Finished computing WiFi location: WifiLocationResult [position=Position [latE7=392472601, lngE7=89692658, accuracyMm=30000, confidence=0], confidence=78, outliers=[]]
04-19 12:32:26.573: DEBUG/CellLocator(5069): Found cell location: Position [latE7=392552940, lngE7=89684460, accuracyMm=2149000, confidence=75]
04-19 12:32:26.577: DEBUG/NetworkLocationServiceThread(5069): reporting Location[mProvider=network,mTime=1303216346576,mLatitude=39.2472601,mLongitude=8.9692658,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=30.0,mExtras=Bundle[{networkLocationSource=cached, networkLocationType=wifi}]]
04-19 12:32:26.577: VERBOSE/AlarmManager(2708): set: Alarm{48bfd4c8 type 2 com.google.android.apps.maps}
04-19 12:32:26.581: INFO/global(5069): Default buffer size used in BufferedOutputStream constructor. It would be better to be explicit if an 8k buffer is required.
04-19 12:32:26.600: DEBUG/WifiService(2708): releaseWifiLockLocked: WifiLock{NetworkLocationLocator type=2 binder=android.os.BinderProxy@488cceb8}

Tutto bene su Desire HD con CM7.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #2 il: 19 Aprile 2011, 16:17:25 CEST »
Grazie mille JD  :D

Sul Galaxy Tab ti appaiono i Toast con scritto "Led is ON" e "Led is OFF" ma il led non si accende giusto ?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #3 il: 20 Aprile 2011, 09:17:55 CEST »
Se ben ricordo appere prima un dialog o qualcosa di simile che mi informa, mi pare in inglese, che il mio dispositivo non è supportato. Se poi premo BACK compare il toggle e, premendolo, i toast "Led is ON" e "Led is OFF" si attiva/disattiva ma non compare nessun toast.

Sul DHD il led si accende in modalità "Death ray" (tutti e 2 i led al massimo della luminosità).
« Ultima modifica: 20 Aprile 2011, 10:30:18 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #4 il: 20 Aprile 2011, 17:04:05 CEST »
Se ben ricordo appere prima un dialog o qualcosa di simile che mi informa, mi pare in inglese, che il mio dispositivo non è supportato. Se poi premo BACK compare il toggle e, premendolo, i toast "Led is ON" e "Led is OFF" si attiva/disattiva ma non compare nessun toast.

OK, erroraccio mio della prima versione perchè il Galaxy Tab non era contemplato nella libreria nativa samsumg...ora ho provato a gestirlo come dispositivo generico.
Grazie per il sostegno  ;-)

Offline formattato

  • Nuovo arrivato
  • *
  • Post: 24
    • Mostra profilo
  • Dispositivo Android:
    Lg P990 Dual Core
  • Play Store ID:
    RoxR
  • Sistema operativo:
    Windows xp
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #5 il: 27 Maggio 2011, 19:22:55 CEST »
Salve, vorrei sapere ( se possibile) le istruzioni per accendere e spegnere il led flash...

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #6 il: 01 Giugno 2011, 15:21:57 CEST »
Usando il framework android puoi utilizzare questo :
Camera.Parameters | Android Developers

Settando il flag FLASH_MODE_TORCH (solo da api level 5 in poi)

Ma non funziona su tutti i dispositivi. Personalmente per la mia libreria ho usato metodi diversi in base al dispositivo in uso, sfruttando la Java Reflection, ma il lavoro è tutt'ora in fase sperimentale/testing.

Offline formattato

  • Nuovo arrivato
  • *
  • Post: 24
    • Mostra profilo
  • Dispositivo Android:
    Lg P990 Dual Core
  • Play Store ID:
    RoxR
  • Sistema operativo:
    Windows xp
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #7 il: 01 Giugno 2011, 16:23:55 CEST »
Ti ringrazio. ho da poco acquistato un lg dual core e se posso esservi d‘aiuto magari per i test sono a disposizione

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #8 il: 25 Febbraio 2012, 18:20:25 CET »
su lg optimus black 2.2 non funziona..esce il messaggio led on, ma il led non si accende.
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #9 il: 26 Febbraio 2012, 13:51:24 CET »
Grazie per l'info...purtroppo non ho più continuato lo sviluppo di questa libreria causa poco tempo a disposizione, credo che a breve rilascerò i sorgenti su google code rendendo il progetto open source  :D così chi vuole può continuare il lavoro !

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:FlashLight - una libreria per usare il led del device come torcia
« Risposta #10 il: 27 Febbraio 2012, 00:16:40 CET »
magari:D
volevo proprio implementare la luce del flash nella mia app...ma sapendo che ci sono una miriade di problemi tra i vari dispositivi (e io ne ho solo 2 su cui fare test ) ho rinunciato :(
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!