首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用iOS上使用ngCordova fileopener2的默认应用程序打开PDF?

如何使用iOS上使用ngCordova fileopener2的默认应用程序打开PDF?
EN

Stack Overflow用户
提问于 2016-05-04 13:25:59
回答 1查看 1.6K关注 0票数 0

背景

我正在构建一个Ionic/Cordova应用程序。我所针对的主要平台是IOS,但应用程序最终可能是跨平台的。我想启动,下载,并打开设备上的PDF使用安装PDF查看器。我不希望提示用户在打开文件时选择使用哪个应用程序。

环境

  • Visual Studio 2015更新2
  • 科多瓦6.1.1
  • TACO更新8.1
  • 节点6.0.0
  • iPad Mini 2运行iOS 9.2 (13C75)
  • iPad Air 2运行9.2.1 (13D15)
  • Acrobat阅读器

问题描述

当我试图在iPad ( iPad Mini或Air 2)上打开PDF时,会出现一个小对话框,其中显示应用程序图标形式的选项列表。这些选项包括“Message”、“Mail”、“Notes”等,以及“复制到Acrobat”。选择“复制到Acrobat”选项将在Acrobat中启动我的PDF。

我希望内容与适当的应用程序一起启动,而不必从列表中选择一个。我总是希望我的PDF在Acrobat中启动,而不提示用户选择一个操作。

当在Android上执行相同的代码时,PDF将按预期使用默认的PDF查看器打开。

相关代码示例

下面是正在执行的下载文件并将其存储在设备上的代码以及打开文件的调用。对于pdf,mime设置为“application/pdf”。

代码语言:javascript
复制
$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时第一次选择应用程序/操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-20 16:01:42

据我所知,在iOS中不可能使用文件打开插件将其默认为特定的应用程序,并且已经亲自尝试过了。在您的例子中,最好使用inappbrowser插件,因为iOS webview支持PDF查看。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37029203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档