使用相机意图拍照并保存到文件

12

我正在尝试拍照并将其保存到文件。问题是我试图将位图保存到文件中。这是我的代码:

可能的重复:
Android相机 - 将图像保存到SD卡上的新文件夹中

private void takePic() {
    Intent cameraIntent = new Intent(
            android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, 2);


}

public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            ImageView test = (ImageView) findViewById(R.id.test);
            test.setImageBitmap(photo);

            try {
                FileOutputStream out = new FileOutputStream("filename");
                photo.compress(Bitmap.CompressFormat.JPEG, 90, out);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

并且logcat中的异常:

04-02 14:46:51.975: W/IInputConnectionWrapper(2225): showStatusIcon on inactive InputConnection
04-02 14:46:56.135: W/System.err(2225): java.io.FileNotFoundException: /filename (Read-only file system)
04-02 14:46:56.135: W/System.err(2225):     at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
04-02 14:46:56.145: W/System.err(2225):     at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
04-02 14:46:56.145: W/System.err(2225):     at java.io.FileOutputStream.<init>(FileOutputStream.java:94)
04-02 14:46:56.145: W/System.err(2225):     at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
04-02 14:46:56.145: W/System.err(2225):     at java.io.FileOutputStream.<init>(FileOutputStream.java:144)
1个回答

4
你的错误明确地显示了java.io.FileNotFoundException: /filename。请提供精确路径"/sdcard/filename"。
new FileOutputStream(getExternalStorageDirectory()+"filename");

或者

String imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/name.png";

注意:在清单文件中添加 WRITE_EXTERNAL_STORAGE 权限。

它告诉我没有getExternalStorageDirectory()方法。 - Worker123
看,我已经更新了代码。 - Mohammed Azharuddin Shaikh
这意味着你没有SD卡。 - Never Quit
(Environment.getExternalStorageDirectory()+“文件名”); - Mohammed Azharuddin Shaikh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接