android - 如何在照片后更新 Android 图库?

标签 android android-intent gallery photo face-detection

为了上大学,我必须在 android 上开发一个带有面部检测的应用程序。 为此,我必须在我的画廊中保存各种照片。 问题是保存照片后,图库不会更新。 更准确地说,如果我删除了我要保存图像的目录,我打开应用程序并拍摄照片,然后进入画廊并在“更新”后看到照片。 但是一旦我有了目录,如果我拍一张新照片,这不会覆盖旧照片。

我在网上找到了这个:

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" + Environment.getExternalStorageDirectory())));

...但它不起作用!

这是我的代码:

    .
    .
    .
      ImageButton buttonPicture = (ImageButton) findViewById(R.id.camera_surface_button);
                        buttonPicture.setOnClickListener(new OnClickListener(){
                                public void onClick(View v) {
                                        mCamera.takePicture(null, null, jpegCallback); 
                                        //File file = new File(savedPath, "ing.jpg");
                                        sendBroadcast(new         Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" +     Environment.getExternalStorageDirectory())));

                                }
                        });
     .
     .
     .
     .

    PictureCallback jpegCallback = new PictureCallback() {
                public void onPictureTaken(byte[] _data, Camera _camera) {
                        imagesFolder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "/TTRprova");
                        imagesFolder.mkdirs();
                        String fileName = "image3.jpg";

                        File output = new File(imagesFolder, fileName);

                        textView1.setText("-----Sono nella callback-----");

                        Uri outputFileUri = Uri.fromFile(output);
                        String filePath = outputFileUri.getPath();
                        File file= new File(filePath);

                        try {
                            FileOutputStream fos = new FileOutputStream(file, true);
                            fos.write(_data);
                            fos.close();

                        } catch (FileNotFoundException e) {
                            // TODO Auto-generated catch block
                            textView1.setText("-----FileNotFoundException-----");
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            textView1.setText("-----IOException-----");
                            e.printStackTrace();
                        }

                        //riparte la preview della camera
                        //mCamera.startPreview();



                }
    };

希望得到您的帮助。 再见

最佳答案

您可以强制 MediaScanner 添加特定文件(或让它知道它已被删除或修改)

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(myNewFile)));

关于android - 如何在照片后更新 Android 图库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15837485/

相关文章:

android - 启动 android.intent.action.VIEW 时出现 ActivityNotFoundException

jquery - 如何制作 Bootstrap 轮播(从 Instagram 提供)并显示附近的图像?

html - 删除图库框上的最右边距

android - 集成 Appboy 反馈 fragment

Android 回到上一个 Activity

android - UNITY 触摸位置到世界位置 2D

android - 获取通知 Intent 附加功能

css - 我的简单 CSS 画廊在 Firefox 中工作,但在 safari 或 chrome 中不工作

php - Android中向数据库服务器发送数据

android - 牛轧糖中的互联网连接