获取最后捕获的图​​像?

Get last captured image?

我有一个应用程序,您可以在其中拍摄自己的照片(该应用程序将图像保存在名为 "MyAppImage" 的指定文件夹中),我想在一秒钟内显示拍摄的图像 activity 用代码,怎么做?我想在我的 SecondActivity 的 imageView 中显示它,但我需要一个代码可以从这个文件夹中获取最后捕获的相机图像,有什么办法可以做到这一点吗?

希望有人能指导我,如何操作,谢谢!

拍照后,将其保存到文件中。 然后调用 intent to start second activity 并使用您的图像文件路径调用 putExtraString。 仅此而已。

拍照后:

主要活动

 String filePath;
    @Override
        protected void onCreate(Bundle savedInstanceState) {   
        ...
        }

    private void onCaptureImageResult(Intent data) {
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
            thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);

      String fileName = "yourPhotoName" + ".jpg"

      filePath =  "pathOfMyAppImageFolder" + fileName;

      File destination = new File(filePath);

    FileOutputStream fo;
          try {
           destination.createNewFile();
           fo = new FileOutputStream(destination);
           fo.write(bytes.toByteArray());
           fo.close();
          } catch (FileNotFoundException e) {
           e.printStackTrace();
          } catch (IOException e) {
           e.printStackTrace();
         }
      }

      yourButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), AnotherActivity.class);
                intent.putExtra("filePath", filePath)
                startActivity(intent);

                }
            });

另一个活动

String filePath;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

    Intent intent = this.getIntent();

    filePath = intent.getStringExtra("filePath");

    File imgFile = new  File(filePath);

    if(imgFile.exists()){

        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

        ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

        myImage.setImageBitmap(myBitmap);

        }
     }

拍摄文件夹最后一张照片:

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

    List<File> files = getListFiles(new File("MyAppImageFolderPath")); 

    File imgFile = files.get(files.size());

    if(imgFile.exists()){

        Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

        ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

        myImage.setImageBitmap(myBitmap);

        }
     }



 private List<File> getListFiles(File parentDir) {
    ArrayList<File> inFiles = new ArrayList<File>();
    File[] files = parentDir.listFiles();
    for (File file : files) {
        if (file.isDirectory()) {
            inFiles.addAll(getListFiles(file));
        } else {
            if(file.getName().endsWith(".jpg")){ //change to your image extension
                inFiles.add(file);
            }
        }
    }
    return inFiles;
}