在 Pepper QISDK 上创建/写入文件

Create / write files on Pepper QISDK

我们想在 Pepper Robot 上拍照并保存(以某种方式)-> 第一个想法是压缩到 .jpg 文件。
TakePicture 动作取自 QISDK 教程,然后我们创建文件如下:


    File file = new File("image.jpg");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        FileOutputStream out = new FileOutputStream(file);
        getPicture().compress(Bitmap.CompressFormat.JPEG, 100, out); 
    // getPicture() is The Bitmap we get from TakePicture Action.
        Log.i("COMPRESSED", "SUCCES");
        out.close();
    } catch (IOException e) {
        Log.i("COMPRESSED", "FAIL");
        e.printStackTrace();
    }

但是代码抛出异常 IOException 只读文件系统。 这意味着,机器人环境阻止 creating/writing 文件,我认为这是为了安全原因。 但是Bitmap格式的图片并不是我们想要的
是否有解决此问题的可能方法或解决方案?

我找到了解决方案,我刚刚用

制作了一个文件

        file = File.createTempFile("image", ".jpg", this.getCacheDir());

这样可以创建一个完全可写的临时文件,之后可以对其进行压缩、编辑等
使用 /temp android 文件夹的绝对路径也可能有效,但这取决于 Android 版本。