我正在使用 Phonegap(版本:2.7.0)为 iOS 和 Android 编写应用程序。pdf 文件是 file:///android_asset/www/test.pdf(压缩在 .apk 中)。
我尝试使用本机 pdf 查看器打开此 pdf,例如:
window.open('file:///android_asset/www/test.pdf', '_system', 'location=yes');
上面的命令适用于浏览器和 iOS(你必须使用_blank
代替_system
)
我尝试使用 Phonegap File API 将文件加载到 sdcard,但我读到它无法访问 android_asset/www 中的文件。
是否可以直接从 android_asset/www 路径打开pdf?
是否可以将文件复制到 sdcard 端从那里打开它?
也许它可能与 android 安装脚本?
编辑:
我将此添加到 /src/com/...etc .java 文件中的 .java 文件中:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
super.appView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
但是还是有同样的问题...
adb -d logcat
当我启动应用程序并单击 pdf 链接时,我得到了输出:
I/ActivityManager(22040): Displayed com.company.appname/.Appname: +1s611ms
I/ActivityManager(22040): Displayed com.tf.thinkdroid.samsung/com.tf.thinkdroid.pdf.app.PdfRenderScreen: +1s549ms
D/CordovaLog(27549): exception firing pause event from native
I/Web Console(27549): exception firing pause event from native at undefined:1
...
I/InputReader(22040): dispatchTouch::touch event's action is 0
I/InputDispatcher(22040): Delivering touch to current input target: action: 0, channel '40a9f450 com.tf.thinkdroid.samsung/com.tf.thinkdroid.pdf.app.PdfRenderScreen (server)'
I/InputReader(22040): dispatchTouch::touch event's action is 1
I/InputDispatcher(22040): Delivering touch to current input target: action: 1, channel '40a9f450 com.tf.thinkdroid.samsung/com.tf.thinkdroid.pdf.app.PdfRenderScreen (server)'
....
D/DroidGap(27549): Resuming the App