如何在Android中将捕获的照片保存在应用程序目录中

如何在Android中将捕获的照片保存在应用程序目录中,android,android-intent,Android,Android Intent,您好,我想将捕获的照片保存在SQLiteetc所在的应用程序目录中。我不想在SD卡中创建任何文件夹和任何隐藏文件。如何将捕获的照片保存到应用程序目录中 我在下面尝试这个方法,但它保存在SD卡中,该SD卡是隐藏文件,但我不希望使用这种方法 Intent cameraIntent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); String capturedPhotoName = "." + Syste

您好,我想将捕获的照片保存在
SQLite
etc所在的应用程序目录中。我不想在SD卡中创建任何文件夹和任何隐藏文件。如何将捕获的照片保存到应用程序目录中

我在下面尝试这个方法,但它保存在SD卡中,该SD卡是隐藏文件,但我不希望使用这种方法

Intent cameraIntent = new Intent(
        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String capturedPhotoName = "." + System.currentTimeMillis() + ".png";
File photo = new File(Environment.getExternalStorageDirectory(),
        capturedPhotoName);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(cameraIntent, CAMERA_INTENT_REQUEST);

提前谢谢

从onActivityResult()获取URI并将其转换为字节,然后在数据库中存储字节

byte[] UserPic = null;
UserPic = Base64.decode(result.getData(), 0);

将userPic保存到数据库中

从onActivityResult()获取URI并将其转换为字节在数据库中存储字节

byte[] UserPic = null;
UserPic = Base64.decode(result.getData(), 0);

将userPic保存到数据库中

从onActivityResult()获取URI并将其转换为字节在数据库中存储字节

byte[] UserPic = null;
UserPic = Base64.decode(result.getData(), 0);

将userPic保存到数据库中

从onActivityResult()获取URI并将其转换为字节在数据库中存储字节

byte[] UserPic = null;
UserPic = Base64.decode(result.getData(), 0);

将userPic保存到数据库中

尝试此方法将捕获的图像保存到应用程序存储器中

 public Uri setImageUri() {
        ContextWrapper cw = new ContextWrapper(getApplicationContext());
        File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
        File file = new File(directory,System.currentTimeMillis() + ".png");
        Uri imgUri = Uri.fromFile(file);
        this.imgPath = file.getAbsolutePath();
        return imgUri;
    }
图像将存储在此位置

/data/data/com.your.packagename/app_data/imageDir

尝试此方法将捕获的图像保存到应用程序存储器中

 public Uri setImageUri() {
        ContextWrapper cw = new ContextWrapper(getApplicationContext());
        File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
        File file = new File(directory,System.currentTimeMillis() + ".png");
        Uri imgUri = Uri.fromFile(file);
        this.imgPath = file.getAbsolutePath();
        return imgUri;
    }
图像将存储在此位置

/data/data/com.your.packagename/app_data/imageDir

尝试此方法将捕获的图像保存到应用程序存储器中

 public Uri setImageUri() {
        ContextWrapper cw = new ContextWrapper(getApplicationContext());
        File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
        File file = new File(directory,System.currentTimeMillis() + ".png");
        Uri imgUri = Uri.fromFile(file);
        this.imgPath = file.getAbsolutePath();
        return imgUri;
    }
图像将存储在此位置

/data/data/com.your.packagename/app_data/imageDir

尝试此方法将捕获的图像保存到应用程序存储器中

 public Uri setImageUri() {
        ContextWrapper cw = new ContextWrapper(getApplicationContext());
        File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
        File file = new File(directory,System.currentTimeMillis() + ".png");
        Uri imgUri = Uri.fromFile(file);
        this.imgPath = file.getAbsolutePath();
        return imgUri;
    }
图像将存储在此位置

/data/data/com.your.packagename/app_data/imageDir


应用程序的
cacheDir
的最大大小是多少?保存多个大文件不会产生任何问题?文档中没有声明固定大小,它取决于设备内部存储哦,如果设备内部存储是16 GB,那么它的缓存大小是多少?文档中说,如果要缓存一些数据,您应该使用getCacheDir()打开一个文件,该文件表示应用程序应在其中保存临时缓存文件的内部目录,而不是永久存储它。当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载您的应用程序时,这些文件将被删除。因此,要保存大小约为1 MB的内容,但此处捕获的照片大小将超过2 MB,那么如何执行此操作?应用程序的
cacheDir
的最大大小是多少?,保存多个大文件不会产生任何问题?文档中没有声明修复大小取决于设备内部存储哦,如果设备内部存储为16 GB,那么它的缓存大小是什么?文档中说,如果您希望缓存某些数据,而不是永久存储,则应使用getCacheDir()打开表示应用程序应在其中保存临时缓存文件的内部目录的文件。当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载您的应用程序时,这些文件将被删除。因此,要保存大小约为1 MB的内容,但此处捕获的照片大小将超过2 MB,那么如何执行此操作?应用程序的
cacheDir
的最大大小是多少?,保存多个大文件不会产生任何问题?文档中没有声明修复大小取决于设备内部存储哦,如果设备内部存储为16 GB,那么它的缓存大小是什么?文档中说,如果您希望缓存某些数据,而不是永久存储,则应使用getCacheDir()打开表示应用程序应在其中保存临时缓存文件的内部目录的文件。当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载您的应用程序时,这些文件将被删除。因此,要保存大小约为1 MB的内容,但此处捕获的照片大小将超过2 MB,那么如何执行此操作?应用程序的
cacheDir
的最大大小是多少?,保存多个大文件不会产生任何问题?文档中没有声明修复大小取决于设备内部存储哦,如果设备内部存储为16 GB,那么它的缓存大小是什么?文档中说,如果您希望缓存某些数据,而不是永久存储,则应使用getCacheDir()打开表示应用程序应在其中保存临时缓存文件的内部目录的文件。当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载你的应用程序时,这些文件将被删除。因此,要保存大小约为1MB的内容,但这里捕获的照片大小将超过2MB,那么如何保存呢?