部署到移动/ Android手机时,文件Reference.load / browse / save将无法正常工作

时间:2015-02-02 10:46:12

标签: android xml flash air filereference

FileReference操作在我的工作区中正常工作,但在安装在移动/ Android手机中时不会。

发布设置:

  • 目标 - 适用于Android的Air 3.2
  • 脚本 - AS 3.0

适用于Android设置的Air: 检查以下

  • WRITE_EXTERNAL_STORAGE

这是发生了什么,我有3个按钮调用FileReference。 一个用于浏览(.browse())要加载的内容(.load())。在这里当我点击浏览按钮时,它会提示“没有文件被选中”,即使我还没有选择。浏览对话框甚至都不显示。

在保存(.save())时,它不会显示保存对话框。

有什么想法吗?所有这些都在发布之前在Flash Pro中正常工作

1 个答案:

答案 0 :(得分:0)

来自AS3文档:

注意:在Adobe AIR中,扩展FileReference类的File类提供了更多功能,并且比FileReference类具有更少的安全限制。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html

尝试类似:

import flash.filesystem.*;

var _file:File = File.applicationStorageDirectory.resolvePath("yourfile.xml");

var _readFileStream:FileStream = new FileStream();

_readFileStream.open(Main._file, FileMode.READ);

var _loadedData:String = String(_readFileStream.readUTFBytes(_readFileStream.bytesAvailable));
_readFileStream.close();

trace(_loadedData);

并保存

var _file:File = File.applicationStorageDirectory.resolvePath("yourfile.xml");

var _writeFileStream:FileStream = new FileStream();

_writeFileStream.open(Main._file, FileMode.WRITE);

_writeFileStream.writeUTFBytes(_loadedData);

_writeFileStream.close();