背景
我正在构建一个Ionic/Cordova应用程序。我所针对的主要平台是IOS,但应用程序最终可能是跨平台的。我想启动,下载,并打开设备上的PDF使用安装PDF查看器。我不希望提示用户在打开文件时选择使用哪个应用程序。
环境
问题描述
当我试图在iPad ( iPad Mini或Air 2)上打开PDF时,会出现一个小对话框,其中显示应用程序图标形式的选项列表。这些选项包括“Message”、“Mail”、“Notes”等,以及“复制到Acrobat”。选择“复制到Acrobat”选项将在Acrobat中启动我的PDF。
我希望内容与适当的应用程序一起启动,而不必从列表中选择一个。我总是希望我的PDF在Acrobat中启动,而不提示用户选择一个操作。
当在Android上执行相同的代码时,PDF将按预期使用默认的PDF查看器打开。
相关代码示例
下面是正在执行的下载文件并将其存储在设备上的代码以及打开文件的调用。对于pdf,mime设置为“application/pdf”。
$cordovaFileTransfer.download(category.assetPath, targetPath, {}, true)
.then(function (result) {
result.file(function (file) {
var localFile = file.localURL;
resolveLocalFileSystemURL(localFile, function (entry) {
var nativePath = entry.toNativeURL();
if (ionic.Platform.isAndroid()) {
nativePath = decodeURIComponent(entry.toURL());
}
// Open in another app, will fail if app doesn't exist that can open the mime type
$cordovaFileOpener2.open(nativePath, mime).then(function () {
// Success!
}, function (err) {
// Error!
});
}, function (error) {
//handle error here
});
}, function (error) {
// handle error here
});
}, function (err) {
// Error
}, function (progress) {
$timeout(function () {
category.downloadProgress = progress.loaded / progress.total;
});
});
}问题
是否可以使用默认应用程序在iOS平板上打开Ionic/Cordova移动应用程序中的内容,而不每次都提示用户选择应用程序?
如何让FileOpener2插件在安装Adobe的iPad上打开PDF,而不要求用户每次选择该PDF时第一次选择应用程序/操作?
发布于 2016-05-20 16:01:42
据我所知,在iOS中不可能使用文件打开插件将其默认为特定的应用程序,并且已经亲自尝试过了。在您的例子中,最好使用inappbrowser插件,因为iOS webview支持PDF查看。
https://stackoverflow.com/questions/37029203
复制相似问题