Tuesday, July 3, 2012

Re: [android-developers] Abnormal behavior of media scanner when I renamed a folder which have some media files.

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.kwon@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+unsubscribe@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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate