我正在为Android制作AIR应用程序,我想在用户点击按钮时打开pdf。
我有这段代码:
printBtn.addEventListener(MouseEvent.CLICK, print, false, 0, true);
function print(event:MouseEvent):void{
var myPDF = new URLRequest("pdfs/all.pdf");
navigateToURL(myPDF);
}
我在发布设置中包含了“pdfs”文件夹。
当我使用Flash CC模拟器尝试应用程序时,它正在运行,但是当我在Android设备上测试它时,当我点击按钮时没有任何事情发生。 (all.pdf不会打开)。
我试图改变
var myPDF = new URLRequest("pdfs/all.pdf");
通过
var myPDF = new URLRequest("http://www.mysite/all.pdf");
为了测试该功能,它正在Android设备上工作,因为它在我点击按钮时在线打开pdf。
你知道为什么它不能在本地打开我的pdf吗? (我再说一遍,我在发布设置中包含了“pdfs”文件夹)
感谢您的帮助
答案 0 :(得分:0)
编辑:一次又一次地阅读问题后,我认为问题是另一回事。我觉得这是一个应用程序沙箱安全问题,我认为您设备中的浏览器应用程序无法访问驻留在您的应用程序目录中的本地文件(all.pdf)。我认为您需要先在' documentsDirectory' 中编写该文件,该文件应该可供Android公开访问。
在这里查看这个帖子并查看接受的答案评论:
how do I open a newly written file from application storage directory in as3 / flex mobile?
我的老祖文:
可能是相对网址问题。检查本地PDF的路径,然后进行调试以查看它是否实际打包。
尝试" /pdfs/all.pdf"看看是否有效。
答案 1 :(得分:0)
在Flash CC中,在发布应用之前,请确保将pdf包含在“设置”中。一般>包含的文件区域。