Thank you Murphy. I'm going to try your way. hope it works as we expect.
On Wednesday, July 4, 2012 7:38:53 PM UTC+9, Mark Murphy (a Commons Guy) wrote: > First, I would use MediaScannerConnection instead of that broadcast. > > Second, I think you have to recursively scan all of the contents -- > from other reports I have seen, it appears that you can only scan > files, not folders. > > On Wed, Jul 4, 2012 at 12:03 AM, Hyuck <[email protected]> wrote: > > Thank you for your interest. > > > > after I renamed a folder. I did re-scanning by sending broadcast intent > as > > below. > > > > Context applicationContext = > > MyApplication.getInstance().getApplicationContext(); > > > > applicationContext.sendBroadcast(new > > Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, > > > > and then, delete former folder name in database as below. > > > > public boolean deleteFolder(String folderPath){ > > > > > > > > boolean isSuccessful = false; > > > > Cursor cursor = null; > > > > String selection; > > > > > > > > DELETE_FOLDER : { > > > > //1. Get folder '_id' list.(with duplicated one). > > > > ArrayList<Integer> folderIdList = new > > ArrayList<Integer>(); > > > > > > > > String[] projection = { > > > > FileSchema.Columns._ID > > > > }; > > > > selection = FileSchema.Columns.DATA + " = \"" + > > folderPath + "\""; > > > > cursor = SqliteWrapper.query(getContext(), > > getContentResolver(), FileSchema.getContentUri("external"), projection, > > selection, null, null); > > > > if(cursor != null && cursor.moveToFirst() && > > cursor.getCount() > 0){ > > > > int dataIndex = > cursor.getColumnIndex(FileSchema.Columns._ID); > > > > do { > > > > folderIdList.add(cursor.getInt(dataIndex)); > > > > } while ( cursor.moveToNext() ); > > > > cursor.close(); > > > > } else { > > > > isSuccessful = false; > > > > break DELETE_FOLDER; > > > > } > > > > > > > > //2. Delete folders in DB. > > > > while ( folderIdList.isEmpty() == false ) { > > > > int folderId = folderIdList.remove(0); > > > > int numberOfDeleted = > > SqliteWrapper.delete(getContext(), getContentResolver(), > > FileSchema.getContentUri("external"), > > "_id=\""+Integer.toString(folderId)+"\"", null); > > > > if (numberOfDeleted < 0) { > > > > isSuccessful = false; > > > > break DELETE_FOLDER; > > > > } > > > > } > > > > //3. Delete files in DB. > > > > selection = FileSchema.Columns.DATA + " LIKE \"" + > > folderPath + "/%\""; > > > > int numberOfDeleted = > SqliteWrapper.delete(getContext(), > > getContentResolver(), FileSchema.getContentUri("external"), selection, > > null); > > > > if(numberOfDeleted < 0){ > > > > isSuccessful = false; > > > > break DELETE_FOLDER; > > > > } > > > > > > > > //4. Success! > > > > isSuccessful = true; > > > > break DELETE_FOLDER; > > > > } > > > > > > > > return isSuccessful; > > > > } > > > > > > > > On Wednesday, July 4, 2012 1:58:22 AM UTC+9, Mark Murphy (a Commons Guy) > > wrote: > >> > >> How did you do the "re-scanning"? > >> > >> On Tue, Jul 3, 2012 at 12:53 PM, Hyuck <[email protected]> > wrote: > >> > Hi All, > >> > > >> > I have develop a kind of file manager app. recently, I have met a > >> > strange > >> > behavior of media scanner. > >> > There was a folder(A) with some media files in it. and I renamed the > >> > folder > >> > name to B. > >> > However, after a re-scanning , there is still folder A, and the > folder > >> > have > >> > media files which have 0bytes. > >> > is there anyone who have this kind of problem? if so, please give me > >> > some > >> > advise. it would be much appreciated. > >> > > >> > Hyuck. > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "Android Developers" group. > >> > To post to this group, send email to > [email protected] > >> > To unsubscribe from this group, send email to > >> > [email protected] > >> > For more options, visit this group at > >> > http://groups.google.com/group/android-developers?hl=en > >> > >> > >> > >> -- > >> Mark Murphy (a Commons Guy) > >> http://commonsware.com | http://github.com/commonsguy > >> http://commonsware.com/blog | http://twitter.com/commonsguy > >> > >> _The Busy Coder's Guide to Android Development_ Version 3.7 Available! > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group at > > http://groups.google.com/group/android-developers?hl=en > > > > -- > Mark Murphy (a Commons Guy) > http://commonsware.com | http://github.com/commonsguy > http://commonsware.com/blog | http://twitter.com/commonsguy > > Android Training... At Your Office: http://commonsware.com/training > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

