为什么图像不会显示在图库中

时间:2013-12-04 17:39:44

标签: android image save

我正在开发一个应用程序,其中我有超过10个图像。当我将这些图像保存到卡片上时,这些图像完美地保存在卡片上但未显示在计算器中。重新启动设备后,图像显示为gallary。我使用了很多方法但没有结果。所以请给我一些解决方案。 这是代码。

 File sdCard = Environment.getExternalStorageDirectory(); 
 String path = sdCard.getAbsolutePath() + "/YourFolder/"; 
  File dir = new File(path); 
  if (!dir.exists()) { 
  if (dir.mkdirs()) {
   }
  }
  OutputStream outStream = null; 
   ///below Code String 
  strFileName=android.text.format.DateFormat.format("dd-MM-yyyy-hh-mm-ssaa", new java.util.Date()).toString();
     File file = new File(path, strFileName+ ".png");

      try { 
           outStream = new FileOutputStream(file);
        bbicon.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
        outStream.flush();
         outStream.close();
         } catch(Exception e) {

2 个答案:

答案 0 :(得分:0)

创建一个这样的方法:

void doScanFile(String fileName) {
        String[] filesToScan = {fileName};

        MediaScannerConnection.scanFile(this, filesToScan, null,
                new MediaScannerConnection.OnScanCompletedListener() {
                    public void onScanCompleted(String filePath, Uri uri) {
                        mediaFileScanComplete(filePath, uri);
                    }
                });
}

void mediaFileScanComplete(String mediaFilePath, Uri mediaFileUri) {

   //Save this infromation to fiels if you need them
    _lastMediaFilePath = mediaFilePath;
    _lastMediaFileUri = mediaFileUri;
}

文件保存后用你的文件名调用它 - doScanFile(file.toString());

答案 1 :(得分:0)

作为替代方法,您可以在创建时使用以下行单独添加图像:

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(outputFile)));

将outputFile作为你的形象。