2015-10-13 43 views
0

我正在开发一些应用程序,在我提交它们和相关数据之前需要拍摄3张图像。 我有以下代码:使用getExternalStoragePublicDirectory保存的Android图像不会在内部存储器中显示

听众:

View.OnClickListener imgListeners = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String sSuffix = "_PIC"; 
      String sElementName = poleId.getText().toString(); 
      switch (v.getId()) { 
       case R.id.ImagePoleId: 
        sSuffix = "_ID"; 
        break; 
       case R.id.ImagePole: 
        sSuffix = "_POLE"; 
        break; 
       case R.id.ImagePoleBulbs: 
        sSuffix = "_BULBS"; 
        break; 
      } 

      takeCameraPic(sElementName, sSuffix + ".jpg"); 
     } 
    }; 

设置监听器:

idImgButton.setOnClickListener(imgListeners); 
    poleImgButton.setOnClickListener(imgListeners); 
    bulbsImgButton.setOnClickListener(imgListeners); 

而且在听众​​中使用的功能:

private void takeCameraPic(String elementName ,String picNameSuffix) { 
    if (elementName.equals("")) return; 
    idImgFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), elementName + picNameSuffix); 
    Uri idImgUri = Uri.fromFile(idImgFile); 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, idImgUri); 
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
    startActivityForResult(intent, 0); 
} 

当我进入应用程序,一切正常,相机弹出,我可以采取形象,回去。 但是当我在整个内部存储器中查找图像时,它只是不在那里。我检查了DCIM \ PICTURES文件夹,没有任何东西。 这是使用的应用程序保存的唯一的图片在PIC的信息,它被保存在以下文件夹说:

/存储/模拟/ 0 /图片

+0

检查'http:// stackoverflow.com/questions/25234897/images-not-being-saved-picture-is-by-camera-app-that-isnt-the-stock' – Jas

回答

1

尝试使用Environment.DIRECTORY_DCIM,而不是Environment.DIRECTORY_PICTURES它会给你

/存储/模拟/ 0/DCIM

文件夹。然后,您可以创建Pictires文件夹并将图像保存到那里。

+0

还没有显示:\ –

相关问题