package com.konka.music.receiver;
import java.io.File;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.media.MediaScannerConnection.OnScanCompletedListener;
import android.net.Uri;
import android.os.Environment;
import com.konka.music.core.providers.DownloadManager;
import com.konka.music.util.FileUtils;
public class MusicDownloadComplete extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent intent) {
switch (intent.getAction()) {
case DownloadManager.ACTION_DOWNLOAD_COMPLETE:
// scanDirAsync(arg0);
// sdScan(arg0);
// sdScan(arg0);
sdScan2(arg0.getApplicationContext());
break;
case Intent.ACTION_MEDIA_SCANNER_STARTED:
break;
case Intent.ACTION_MEDIA_SCANNER_FINISHED:
break;
}
}
// Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
public static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR";
public void scanDirAsync(Context ctx) {
String s = Intent.ACTION_MEDIA_SCANNER_SCAN_FILE;
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
String path = FileUtils.createDirs("/konka/music/");
scanIntent.setData(Uri.fromFile(new File(path)));
// scanIntent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
ctx.sendBroadcast(scanIntent);
}
public void sdScan(Context ctx) {
System.out.println("发送广播了");
ctx.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
// ctx.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
}
MediaScannerConnectionClient d;
public void sdScan2(Context ctx) {
String path = FileUtils.createDirs("/konka/music/");
File file=new File(path);
// MediaScannerService d;
// MediaScannerService
MediaScannerConnection.scanFile(ctx, file.list(), null, new MediaScannerConnectionClient() {
@Override
public void onScanCompleted(String arg0, Uri arg1) {
// System.out.println("arg1"+arg1);
// System.out.println("arg0"+arg0);
}
@Override
public void onMediaScannerConnected() {
System.out.println("连接上了");
}
});
}
}