save - android using media scanner for SD card -


hi im trying save image sdcard , im having problem using media scanner scan new saved file available

the errors in following lines

new string[] { file.tostring() }, null, // error: file cannot resolved  new mediascannerconnection.onscancompletedlistener() {  // error: mediascannerconnection.onscancompletedlistener cannot resolved type 

this code:

public void savetosdcard(bitmap bitmap, string name) {         boolean mexternalstorageavailable = false;         boolean mexternalstoragewriteable = false;         string state = environment.getexternalstoragestate();         if (environment.media_mounted.equals(state)) {             mexternalstorageavailable = mexternalstoragewriteable = true;             log.v(tag, "sd card available read , write "                     + mexternalstorageavailable + mexternalstoragewriteable);             savefile(bitmap, name);         } else if (environment.media_mounted_read_only.equals(state)) {             mexternalstorageavailable = true;             mexternalstoragewriteable = false;             log.v(tag, "sd card available read "                     + mexternalstorageavailable);         } else {             mexternalstorageavailable = mexternalstoragewriteable = false;             log.v(tag, "please insert sd card save ad "                     + mexternalstorageavailable + mexternalstoragewriteable);         }     }      private void savefile(bitmap bitmap, string name) {          string filename = name;         contentvalues values = new contentvalues();         file sdimagemaindirectory = new file(environment                 .getexternalstoragedirectory(), getresources().getstring(                 r.string.directory));         sdimagemaindirectory.mkdirs();         file outputfile = new file(sdimagemaindirectory, filename);         values.put(mediastore.mediacolumns.data, outputfile.tostring());         values.put(mediastore.mediacolumns.title, filename);         values.put(mediastore.mediacolumns.date_added, system                 .currenttimemillis());         values.put(mediastore.mediacolumns.mime_type, "image/png");         uri uri = this.getcontentresolver().insert(                 android.provider.mediastore.images.media.external_content_uri,                  values);         try {             outputstream outstream = this.getcontentresolver()                     .openoutputstream(uri);             bitmap.compress(bitmap.compressformat.png, 95, outstream);              outstream.flush();             outstream.close();         // im having problem           // tell media scanner new file             // available user.             mediascannerconnection.scanfile(this,                     new string[] { file.tostring() }, null,                     new mediascannerconnection.onscancompletedlistener() {                 public void onscancompleted(string path, uri uri) {                     log.v("externalstorage", "scanned " + path + ":");                     log.v("externalstorage", "-> uri=" + uri);                 }             });         } catch (ioexception e) {             // unable create file, because external storage             // not mounted.             log.v("externalstorage", "error writing " + file, e);         }     } 

i got working nicely static method scanfile

and here code:

string filepath = environment.getexternalstoragepublicdirectory(environment.directory_pictures).getabsolutepath() + "/" + filename;     mediascannerconnection.scanfile(this, new string[] { filepath }, null, null); 

hope helps...


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -