`
yxwww
  • 浏览: 16694 次
社区版块
存档分类
最新评论

添加多媒体后,能在Media Store (相册、图库)马上看到

阅读更多

在开发中遇到一个问题:

就是客户端保存了图片A之后,接着去系统自带的“相册、图库”里面,看不到图片A。

这里提供几个解决办法:

1、发送 Intent.ACTION_MEDIA_MOUNTED 广播

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()+ imgPath)));

这个方法太慢了。

2、发送 Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 广播

 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://"+ Environment.getExternalStorageDirectory()+ imgPath))); 

这个方法不错。

3、利用MediaScannerConnection

生成新的实例:

msc = new MediaScannerConnection(this, new MediaScannerConnectionClient() {

  @Override

  public void onScanCompleted(String path, Uri uri) { msc.disconnect(); }

  @Override

  public void onMediaScannerConnected() {  msc.scanFile(imgPath, "image/jpeg"); }

  });

  msc.connect();

或者利用静态方法:

MediaScannerConnection.scanFile(context, paths, mimeTypes, callback)

 

注意:以上三种方法在mx2 Flyme 2.4.1 上无效。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics