java - 错误 E/BitmapFactory:无法解码流:java.io.FileNotFoundException::open failed:ENOENT(没有这样的文件或目录)

标签 java android android-activity android-bitmap

我的应用程序:拍摄照片并将它们存储在外部存储器的文件夹中。当我从应用程序外部进入文件夹时,我发现照片已经注册,但是当我从应用程序进入文件夹时,什么也没有显示。

CameraActivity.java:

public class CameraActivity extends Activity {

    Button button ;
    ImageView imageView ;
    Button button2 ;
    static final int CAM_REQUEST = 1 ;
    File[] f ;
    int cpt;
    File folder = new File("/sdcard/Camera_app");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_camera);
        button = (Button) findViewById(R.id.CameraButton);
        imageView = (ImageView) findViewById(R.id.imageView);
        button2 = (Button) findViewById(R.id.dossier);
        f = folder.listFiles();
        try {cpt = f.length ;} catch (NullPointerException e){cpt=1;}

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent Camera_intenet = new 
                 Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                File file = getFile();
                Camera_intenet.putExtra(MediaStore.EXTRA_OUTPUT, 
                Uri.fromFile(file));
                startActivityForResult(Camera_intenet, CAM_REQUEST);}
               });
         button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent acces_intent = new Intent(Intent.ACTION_PICK);
                File pictures =       Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
                String[] listOfPictures = pictures.list();
                Uri uri = null ;
                ArrayList<Uri> arrayList = new ArrayList<>();
                for (String picture : listOfPictures)
                {
                 uri = Uri.parse("file://"+pictures.toString()+"/"+picture);
                    arrayList.add(uri);}
                        acces_intent.setType("image/*");
                    acces_intent.putExtra(acces_intent.EXTRA_STREAM, arrayList);
                startActivityForResult(acces_intent, 1);
            }
        });}

    private File getFile()
    {
        if(!folder.exists())
        {folder.mkdir();}
        File image_file = new File(folder,"Cam_image"+cpt+".jpg");
        return image_file ;
         }
        @Override
       protected void onActivityResult(int requestCode, int resultCode, Intent       data)    {
        String path = "/sdcard/Camera_app/Cam_image"+cpt+".jpg";
        cpt++;

        imageView.setImageDrawable(Drawable.createFromPath(path));

最佳答案

你有没有添加权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>到 AndroidManifest?

关于java - 错误 E/BitmapFactory:无法解码流:java.io.FileNotFoundException::open failed:ENOENT(没有这样的文件或目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40432307/

相关文章:

java - HTTP Post 请求 Android

android - 无法从命令行创建新的android项目

安卓API问题

android - 虚拟盒子上android模拟器的自定义分辨率

android - 如何在不同的 Activity 中使用相同的 LinearLayout

android - SQLite 数据库项目在重新启动 Activity 后返回,即使它已被删除

Java多维数组

java - 使用 imagemagick 进行图像分割

javascript - 一次允许一个特定字符的正则表达式

android - 如何在不阻塞 Activity 的情况下在 AsyncTask 中创建 while(true)?