Autore Topic: Usare getcontextresolver al di fuori di una classe activity  (Letto 567 volte)

Offline titanum

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
Usare getcontextresolver al di fuori di una classe activity
« il: 01 Agosto 2012, 11:17:39 CEST »
0
Ciao ragazzi, a questa pagina Android-er: Save the camera image using MediaStore
ho trovato questo codice per salvare un'immagine catturata col metodo camera.takepicture in un file:

Codice: [Seleziona]
public void onPictureTaken(byte[] arg0, Camera arg1) {

  // TODO Auto-generated method stub

  /*Bitmap bitmapPicture

   = BitmapFactory.decodeByteArray(arg0, 0, arg0.length); */

 

  Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());



  OutputStream imageFileOS;

  try {

   imageFileOS = getContentResolver().openOutputStream(uriTarget);

   imageFileOS.write(arg0);

   imageFileOS.flush();

   imageFileOS.close();

 

   Toast.makeText(AndroidCamera.this,

     "Image saved: " + uriTarget.toString(),

     Toast.LENGTH_LONG).show();

 

  } catch (FileNotFoundException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  } catch (IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

Il problema è che questo metodo si trova all'interno di una classe activity, a me invece serve posizionarlo in una classe listener, e li il metodo getContentResolver non è definito. C'è un modo per usarlo oppure un modo alternativo per salvare l'immagine? Grazie
« Ultima modifica: 01 Agosto 2012, 11:27:34 CEST da titanum »

Offline titanum

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
Re:Usare getcontextresolver al di fuori di una classe activity
« Risposta #1 il: 01 Agosto 2012, 15:51:24 CEST »
0
Ho risolto: quando serve un'istanza del contesto in una classe diversa da activity bisogna fare in modo di passarla come parametro: nel mio caso serviva ad un oggetto di tipo FaceDetectionListener, ho creato un costruttore che prende in input un parametro di tipo context. Questo costruttore lo chiamo all'interno dell'activity principale da cui posso ricavare il context e passarlo come parametro.