0

有一个我似乎无法解决的问题:在我OnCreate的 中CameraActivity,如果有图片,我会先删除它。如果存在这样做的情况,则创建图片文件但图片为空白。(所以只有在文件不存在的情况下才能成功创建图片)。如何删除文件并成功创建?

CameraActivity的定义如下:

    public class CameraActivity extends Activity
{   
    final int PICTURE_ACTIVITY = 1; 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {  


        Intent h = getIntent();
        String filename = h.getStringExtra("string") + ".jpg";

        String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/" + getString(R.string.app_name)+ "/"; 
        File newdir = new File(dir); 
        try{
            newdir.mkdirs();
        }
        catch(Exception e){}
        String file = dir + filename;
        File newfile = new File(file);
        boolean deleted = newfile.delete();

        try {
            System.out.println("creating:");
            newfile.createNewFile();
        } catch (IOException e) {} 

        Uri outputFileUri = Uri.fromFile(newfile);
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        super.onCreate(savedInstanceState);
        startActivityForResult(cameraIntent, PICTURE_ACTIVITY);
    }

}
4

1 回答 1

0

我意识到有时它没有保存的原因是因为我在手机有机会保存之前将 SD 卡从手机中取出。

于 2012-01-03T16:09:06.590 回答