
Vedremo oggi come creare un app torcia sfruttando il flash della fotocamera, e scopriremo di più sull’ AndroidManifest.
Come sempre creiamo un nuovo progetto,e lo chiamiamo ad esempio “torcia”.
Inseriamo l’immagine di una lampadina nel layout,come visto nelle lezioni precedenti.
Andiamo ora nel file MainActivity.java e scriviamo il seguente codice:
public class MainActivity extends Activity { Camera camera; Toast t; ImageView lampadina; boolean FlashOn=false; Camera.Parameters p; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Testiamo la presenza o meno del flash if( this.getPackageManager().hasSystemFeature( PackageManager.FEATURE_CAMERA_FLASH )){ t=new Toast(this); t.makeText(this, "FLASH SUPPORTATO", Toast.LENGTH_LONG).show(); } else{ t=new Toast(this); t.makeText(this, "FLASH NON SUPPORTATO", Toast.LENGTH_LONG).show(); } camera=Camera.open(); lampadina=(ImageView)findViewById(R.id.imageView1); lampadina.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { p = camera.getParameters(); if(!FlashOn){ p.setFlashMode(Parameters.FLASH_MODE_TORCH); camera.setParameters(p); FlashOn=true; } else{ p.setFlashMode(Parameters.FLASH_MODE_OFF); camera.setParameters(p); FlashOn=false; } } }); } }
Analizzando il codice notiamo che come prima cosa controlliamo se il dispositivo supporta o no il flash,in seguito definiamo che al click sull’immagine della lampadina se il flash è spento lo accendiamo,viceversa se è acceso lo spegniamo.
Non ci resta ora che andare sul AndroidManifest e richiedere i permessi per utilizzare la fotocamera.Infatti su questo importante file fra le altre cose sono definiti tutti i permessi che l’applicazione richiede per il corretto funzionamento.
Per modificarlo possiamo anche utilizzare l’editor messo a disposizione da Eclipse: Sulla scheda Permission clicchiamo su Add->UsesPermission e aggiungiamo 2 permessi,CAMERA per ottenere l’accesso alla fotocamera del dispositivo, e FLASHLIGHT per ottenere l’accesso al flash.
Non ci resta che provare la nostra torcia su un device supportato. Eseguire questa applicazione su un cellulare senza flash potrebbe causare crash!
Puoi guardare tutte le lezioni passate consultando l’indice del corso di programmazione android