Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我拍摄的任何照片都会保存在sd卡上,但除非重新启动,否则无法查看_Android_Android Camera_Android Sdcard_Android File - Fatal编程技术网

Android 我拍摄的任何照片都会保存在sd卡上,但除非重新启动,否则无法查看

Android 我拍摄的任何照片都会保存在sd卡上,但除非重新启动,否则无法查看,android,android-camera,android-sdcard,android-file,Android,Android Camera,Android Sdcard,Android File,我拍摄的任何照片都不会出现在图库中,甚至不会出现在sd卡中,但它仍然保存了下来。我所需要做的就是重新启动系统,它就在那里 以下是我当前的代码: PictureCallback myPictureCallback_JPG = new PictureCallback(){ @Override public void onPictureTaken(byte[] arg0, Camera arg1) { FileOutputStream outStream = nul

我拍摄的任何照片都不会出现在图库中,甚至不会出现在sd卡中,但它仍然保存了下来。我所需要做的就是重新启动系统,它就在那里

以下是我当前的代码:

PictureCallback myPictureCallback_JPG = new PictureCallback(){

    @Override
    public void onPictureTaken(byte[] arg0, Camera arg1) {

        FileOutputStream outStream = null;

        try 
        {
            File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "myCaptured");

            if (!mediaStorageDir.exists()) 
            {
                if (!mediaStorageDir.mkdirs()) 
                {
                    Log.d("myCaptured", "Oops! Failed create " + "myCaptured" + " directory");
                }
            }

            String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());

            String path = mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg";
            outStream = new FileOutputStream(String.format(path, System.currentTimeMillis()));
            outStream.write(arg0);
            outStream.close();

        } 
        catch (FileNotFoundException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        catch (IOException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally 
        {
            Toast.makeText(getApplicationContext(), "Image Saved", Toast.LENGTH_SHORT).show();
            VuzixCamera.super.onBackPressed();
        }

        camera.startPreview();
    }};
}}

此外,请在您的清单中提供:-

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

-----使用上面的代码,它会将图像保存在SD卡中-----

}}

此外,请在您的清单中提供:-

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


-----使用上面的代码,它会将图像保存在SD卡中------

在Gallery应用程序、MTP客户端(例如Windows桌面)等可以看到文件之前,您需要使用它来索引文件------

在Gallery应用程序、MTP客户端(例如Windows桌面)可以看到文件之前,您需要使用它来索引文件,等等。

您必须在新文件上调用媒体扫描程序。只要一行代码就行了。只需“谷歌”即可获得准确的代码。你必须在新文件上调用媒体扫描程序。只要一行代码就行了。是的,我知道你的问题是,当你使用回调函数时,它是在一个单独的线程中调用的,这需要一些时间在gallery上写入图像字节,而你的情况下没有提供。因此,只需使用上面的代码就可以了。是的,我知道你的问题是,当你使用回调函数时,它会在一个单独的线程中调用,这需要一些时间来在gallery上写入图像字节,这在你的情况下是不提供的。因此,只需使用上面的代码就可以了。