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
Post a Comment