android - 将图像保存到 onPictureTaken 上的自定义文件夹 android

标签 android camera

我需要将图像保存到手机中的自定义文件夹中。 我的代码是

@Override
        public void onPictureTaken(byte[] data, Camera camera) {
            if (data != null) {
FileOutputStream outStream = null;
                try {
                    Random generator = new Random();
                    int n = 0000;
                    n = generator.nextInt(n);
                    String fName = "Image" + n + ".jpg";
                    outStream = new FileOutputStream(String.format(fName)); 
                    outStream.write(data);
                    outStream.close();
                } catch (Exception e) {
                  e.printStackTrace();
                }
                camera.startPreview();
}

不工作

最佳答案

    @Override
            public void onPictureTaken(byte[] data, Camera camera) {
                if (data != null) {
    Bitmap bitmap = BitmapFactory.decodeByteArray(data , 0, data .length);

    if(bitmap!=null){

                        File file=new File(Environment.getExternalStorageDirectory()+"/dirr");
                        if(!file.isDirectory()){
                            file.mkdir();
                        }

                        file=new File(Environment.getExternalStorageDirectory()+"/dirr",System.currentTimeMillis()+".jpg");


                        try 
                        {
                            FileOutputStream fileOutputStream=new FileOutputStream(file);
                            bitmap.compress(Bitmap.CompressFormat.JPEG,100, fileOutputStream);

                            fileOutputStream.flush();
                            fileOutputStream.close();
                        }
                        catch(IOException e){
                            e.printStackTrace();
                        }
                        catch(Exception exception)
                        {
                            exception.printStackTrace();
                        }

                    }
    }
}


Dont forget to add permission:

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

关于android - 将图像保存到 onPictureTaken 上的自定义文件夹 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28741878/

相关文章:

java - Android 表格布局点击单元格内容监听器

android - 更改声音文件的音调并保存到mp3文件

java.lang.arrayindexoutofbound异常

c# - Unity C# : Camera Control Using Automatic Positioning & Mouse Look

android - 如何添加相机作为 Canvas 背景

ios - 线程警告 : ['Camera' ] took '290.006104' ms. 插件应使用后台线程

android - 由于 bundleReleaseJsAndAssets,APK 无法构建发布

java - 如何在android中获取拨出电话号码?

android - 如何在 Android 上使用 getSupportedVideoSizes()?

ios - Phonegap 3.4.0 和相机插件 (iOS) : CDVPlugin class CDVCamera (pluginName: camera) does not exist 的问题