Re: [android-developers] Abnormal behavior of media scanner when I renamed a folder which have some media files.
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