Java 使用备用权限启动照相机活动

Java 使用备用权限启动照相机活动,java,android,Java,Android,我想启动照相机活动,并让它将后续照片转储到我的私人应用程序存储中。由于相机没有该目录的写入权限,因此无法将其任何图片保存在该目录中 我可以让我的私人应用程序存储世界可写,但这违背了将其私有化的目的 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent cameraIntent = new Intent(MediaStore.AC

我想启动照相机活动,并让它将后续照片转储到我的私人应用程序存储中。由于相机没有该目录的写入权限,因此无法将其任何图片保存在该目录中

我可以让我的私人应用程序存储世界可写,但这违背了将其私有化的目的

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.fromFile(new File(this.getBaseContext().getDir(PHOTOHUNT_DIRNAME, MODE_PRIVATE), "filename")));
    startActivityForResult(cameraIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
像上面这样的东西是个好主意。显然,出于上述原因,这不起作用

我想启动照相机活动,并让它将后续照片转储到我的私人应用程序存储中

那是不可能的,对不起。您可以自己使用
相机
对象,也可以让活动将照片写入世界可写存储,然后自己将其移动到应用程序本地文件存储

我想启动照相机活动,并让它将后续照片转储到我的私人应用程序存储中


那是不可能的,对不起。您可以自己使用
相机
对象,或者让活动将照片写入world writable storage,然后自己将其移动到应用程序本地文件存储。

是否将照片的字节数组放入SharedReferences?我还没试过,但我刚想到。或者,如果您以前的活动以某种方式访问了该存储,请使用以前保存在内存中的照片完成相机活动(这不是个好主意,是的),然后从您可以保存的位置保存它们。是否将图片的字节数组放在共享引用中?我还没试过,但我刚想到。或者,如果您以前的活动以某种方式访问了该存储,请使用之前保存在内存中的照片完成相机活动(这不是个好主意,是的),然后从您可以保存的位置保存它们。