0

我的应用程序使用手机相机拍照并将它们保存在特定文件夹中。我无法看到他们与Android画廊或插入到我的电脑,但我可以使用文件管理器应用程序。 我找到了一个解决方案:我用文件管理器应用程序重命名图片,我可以在图库中看到它们。看不到保存在特定文件夹中的图片

我正在使用的代码是:

Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
String dirName = Environment.getExternalStorageDirectory()+"/MyAPP/APP"+ n +".jpg"; 
Uri uriSavedImage = Uri.fromFile(new File(dirName)); 
camera.putExtra(MediaStore.EXTRA_OUTPUT,uriSavedImage); 
startActivityForResult(camera, 1); 
n++; 

AndroidManifest:

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

<uses-feature 
    android:name="android.hardware.camera" 
    android:required="false" /> 
+0

您可以打印目录名称变量和比较它到你用文件管理器看的路径? –

+0

是的,它是一样的。它可以节省他们,但有些奇怪的事情发生 – Goblinch

+0

尝试使用“/ mnt/sdcard”而不是Environment.getExternalStorageDirectory(), –

回答

0

我只是需要加入一些代码来扫描图片,并将其添加到库中

private void addGallery() { 
    Intent mediaScanIntent = new Intent(
      Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
    String currentPath = Environment.getExternalStorageDirectory() 
      + "/MyAPP/APP" + n + ".jpg"; 
    File f = new File(currentPath); 
    Uri contentUri = Uri.fromFile(f); 
    mediaScanIntent.setData(contentUri); 
    this.sendBroadcast(mediaScanIntent); 
} 

我补充它在onActivityResult和它的作品

0

用于保存图像特定的文件夹,

private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) { 

File direct = new File(Environment.getExternalStorageDirectory() + "/DirName"); 

if (!direct.exists()) { 
    File wallpaperDirectory = new File("/sdcard/DirName/"); 
    wallpaperDirectory.mkdirs(); 
    } 

    File file = new File(new File("/sdcard/DirName/"), fileName); 
    if (file.exists()) 
     file.delete(); 
    try { 
     FileOutputStream out = new FileOutputStream(file); 
     imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out); 
     out.flush(); 
     out.close(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

}

尝试一下本作访问该图像

private void showImage(String imageName) { 

    File direct = new File(Environment.getExternalStorageDirectory() + "/SlamImages"); 

    if (direct.exists()) { 

     File f = new File(Environment.getExternalStorageDirectory() + "/SlamImages/" + imageName); 

     if (f.exists() && !imageName.equals("")) { 
      Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath()); 
      imgUserLogo.setImageBitmap(bmp); 
     } else { 
      imgUserLogo.setImageResource(R.drawable.friend_image); 
      Toast.makeText(FriendsDetailsActivity.this, "Image Does not exist", Toast.LENGTH_SHORT).show(); 
     } 

    } 

} 
+0

我有同样的问题 – Goblinch

+0

请给logcat – mdDroid

+0

Logcat不给出错误 – Goblinch

相关问题