我在使用Delphi XE6中的Firemonkey创建Android应用程序时遇到问题。该应用程序包含一个TWebBrowser和一个按钮...没什么特别的。
我正在尝试显示位于SD卡上的xhtml文件。
我“想”我正在做所有正确的事情,比如使用"TPath.GetHomePath"
并将我的文件放在这个位置。 - 并确保在项目中设置权限。
作为一名经验丰富的开发人员,我知道我需要使用“file://”,因此浏览器知道它是一个本地文件,因为我多年来在Delphi中做了一百万次,甚至检查了帮助文件使用示例"WebBrowser1.Navigate('file://MyFile.pdf')"
所以我通过以下方式构建我的URL:
AppPath := TPath.Combine(TPath.GetHomePath, 'myfile.xhtml');
然后我去了:
WebBrowser1.Navigate('file://'+AppPath);
当导航发生时,它告诉我该文件不存在,file:///data/data/com.embarcadero.WebBrowser/files/myfile.xhtml
我发现3 /的文件:///并认为我只是将路径硬编码成字符串并得到同样的问题,说该文件不存在并且它还原为file:///
谁能看到我做错了什么?它确实让我感到困惑! : - )
谢谢,杰里米
答案 0 :(得分:0)
而不是
TPath.GetHomePath
我用过
TPath.GetPublicPath
引导我到/storage/emulated/0/Android/data/<myapp>/files/
文件夹(我需要的那个)。
TPath.GetHomePath
给了我data/data/<myapp>/files/
这不存在(我想,也许我需要像GetAbsolutePath这样的东西)。