Android - 捕获图像后更新文件夹显示

标签 android android-intent android-widget android-camera

我是安卓新手。现在,我正在使用以下方法执行图像捕获功能:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );

问题是在我拍摄照片后,新拍摄的照片没有显示在图像显示页面上。

这里有谁知道哪里有代码可以帮助我刷新我的 android 或我需要执行的任何步骤以便在我拍摄新照片后可以更新我的图像显示页面?

任何帮助将不胜感激,首先要感谢你。

更新的答案: 我用这个,也许这可以帮助别人:

                mScanner = new MediaScannerConnection(
                Camera.this,
                new MediaScannerConnection.MediaScannerConnectionClient() {
                    public void onMediaScannerConnected() {
                        mScanner.scanFile(outputFileUri.getPath(), null /* mimeType */);
                    }

                    public void onScanCompleted(String path, Uri uri) {
                        //we can use the uri, to get the newly added image, but it will return path to full sized image
                        //e.g. content://media/external/images/media/7
                        //we can also update this path by replacing media by thumbnail to get the thumbnail
                        //because thumbnail path would be like content://media/external/images/thumbnail/7
                        //But the thumbnail is created after some delay by Android OS
                        //So you may not get the thumbnail. This is why I started new UI thread
                        //and it'll only run after the current thread completed.
                        if (path.equals(outputFileUri.getPath())) {
                            mScanner.disconnect();
                            //we need to create new UI thread because, we can't update our mail thread from here
                            //Both the thread will run one by one, see documentation of android  
                            Camera.this
                            .runOnUiThread(new Runnable() {
                                public void run() {

                                }
                            });
                        }
                    }
                });
        mScanner.connect();

最佳答案

Sally,你的意思是拍完照片后,当你查看你知道文件所在的目录时,在图库或文件管理器中看不到它吗?

如果是这样,您需要像这样运行媒体扫描器:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));

... 其中 uri 是照片的 uri,因为您已经知道它,尽管您可以使用目录的 uri 来代替(如果这样更容易的话)(尽管速度较慢 - 如果目录包含许多文件或嵌套目录)。

关于Android - 捕获图像后更新文件夹显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267150/

相关文章:

Android & Servers - 可以用什么服务器软件,一头雾水

Android:如何使用单个实例从非 Activity 类启动 Activity

java - Android java.lang.RuntimeException 错误

android - 如何使用按钮单击 Android 将语音短信发送到另一个联系人号码

android - 字幕在小部件中经过一段时间后停止

android - finditem() 找不到菜单,卡在 NullPointerException

android - RecycleView 的跨度大小

android - 在多平台项目中将用户图像存储为二进制数据与静态文件的性能影响?

android - 以编程方式设置 Activity 启动模式

Android 小部件被截断