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 <hyuckmin.k...@gmail.com> 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 <hyuckmin.k...@gmail.com> 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 android-developers@googlegroups.com
>> > To unsubscribe from this group, send email to
>> > android-developers+unsubscr...@googlegroups.com
>> > 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 android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> 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 android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to