如何确保图像未保存到图库?

时间:2016-02-23 03:57:48

标签: java android internal-storage

我正在开发一款可让用户密码保护照片的应用。到目前为止,用户可以拍照并显示照片。但是,所有照片都会保存到相机胶卷中。如何将它们保存到应用程序而不是相机卷,这样它们可以是私有的,但仍然可以从它们的uri访问它们(我将保存到SharedPreferences)?

int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 0;
Uri imageUri;

public void takePic(View view){


Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "filename_" +
        String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra("data", imageUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);



}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (resultCode == RESULT_OK) {
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {


        Bundle extras = data.getExtras();

        Log.e("URI", imageUri.toString());
        Bitmap bmp = (Bitmap) extras.get("data");
        ImageView imageView = (ImageView) findViewById(R.id.imageView);

        imageView.setImageBitmap(bmp);




    }
    else if (resultCode == RESULT_CANCELED) {
        Toast.makeText(this, "Picture was not taken", Toast.LENGTH_SHORT);
    }
}


}

1 个答案:

答案 0 :(得分:0)

在文件夹中创建一个名为(.nomedia)的文件,然后该文件夹中的所有照片都不会显示! 要么 将照片保存在内部存储空间中。