Android - 只能在连接到PC时保存文件

时间:2012-07-10 14:24:15

标签: android actionscript-3 file air save

我正在开发一个应用程序,在某些点,用户可以将图像文件保存到SD卡。 当手机连接到PC时,一切正常,但是当我断开手机并启动应用程序时,文件保存功能无效。

我猜我没有连接到PC时应该使用不同的路径进行保存?

我当前的路径是

    "//mnt/sdcard/DCIM/Camera/image"+Math.random()*10000+".jpg"

我正在使用纯AS3 AIR进行开发。

这是代码:

var bmd:BitmapData = new BitmapData(Main.instance.stage.stageWidth, Main.instance.stage.stageHeight);
        bmd.draw(_board)
        var je:JPGEncoder = new JPGEncoder(100);
        var ba:ByteArray = je.encode(bmd); 

        var fl:File = File.documentsDirectory.resolvePath("//mnt/sdcard/DCIM/Camera/image"+Math.random()*10000+".jpg"); 
        try{
          var fs:FileStream=new FileStream;
          fs.open(fl,FileMode.WRITE);
          fs.writeBytes(ba,0,ba.length);
          fs.close();
        }
            catch(e:Error){
                Main.instance.tf.text = e.message;

            }

提前致谢,

1 个答案:

答案 0 :(得分:0)

Android应用程序存储目录如下:

安装应用程序的目录(只读)

File.applicationDirectory
/data/data/app.appID/app/assets

应用的私有存储目录​​

File.applicationStorageDirectory
/data/data/app.appID/AppName/Local Store

用户的主目录

File.userDirectory
/sdcard

用户的文档目录

File.documentsDirectory
/sdcard

用户的桌面目录

File.desktopDirectory
/sdcard

临时存储目录

File.createTempDirectory()
Created in /data/data/app.appId/cache

临时文件

File.createTempFile()
Created in /data/data/app.appId/cache