背景ngCordova fileopener2を使用してiOS上のデフォルトアプリケーションを使用してPDFを開くにはどうすればよいですか?
私はIonic/Cordovaアプリケーションを構築しています。私がターゲットとしているプライマリプラットフォームはIOSですが、アプリケーションは最終的にはクロスプラットフォームになるかもしれません。インストールしたPDFビューアを使用して、デバイス上でPDFをダウンロードして開きたいと思います。ファイルを開くときに使用するアプリケーションを選択するようにユーザーに指示する必要はありません。
環境
- のVisual Studio 2015のアップデート2
- コルドバ6.1.1
- TACOは8.1
- ノードを更新6.0.0
- のiPadミニ2のiOS 9.2を実行している(13C75)
- iPad Air 2 running 9.2.1(13D15)
- は、Adobe Acrobat Reader
問題説明
私はiPadの(どちらかのiPadミニ、またはエア2)のPDFを開こうとすると、小さなダイアログボックスがでオプションのリストが表示されますアプリケーションアイコンの形式。オプションには、 'メッセージに'、 'メール'、 'ノート'など、「Adobe Acrobatにコピー」などがあります。 「Adobe Acrobatにコピー」オプションを選択すると、Adobe AcrobatでPDFが起動します。
リストから選択することなく、適切なアプリケーションでコンテンツを起動します。私は常に自分のPDFをAdobe Acrobatで起動し、ユーザーにアクションを選択させないようにしたい。
Androidで同じコードを実行すると、デフォルトのPDFビューアを使用してPDFが開きます。
関連するコードサンプル
ここでは、ファイルをダウンロードし、ファイルを開くための呼び出しと一緒にデバイス上でそれを保存するために実行されているコードがあります。 PDFファイルの場合は、MIME「とは、アプリケーション/ 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のタブレット上で私のイオン/コルドバモバイルアプリケーションからコンテンツを開くことです。質問に設定されていますユーザがアプリケーションを選択するたびにプロンプトされることなく、デフォルトのアプリケーションを使用できますか?
PDFを選択するたびにアプリケーション/アクションを選択するようにユーザーに要求せずに、Adobe ReaderがインストールされたiPadでFileOpener2プラグインを開くようにするにはどうすればよいですか?
私が知る限り、iOSではファイルオープナープラグインを使用して特定のアプリケーションにデフォルトすることはできず、個人的に試してみました。あなたの場合は、inappbrowserプラグインを使用する方が良い – Gandhi
私はガンジーが正しいと信じています。あなたが答えとしてあなたのコメントを追加するなら、私はそれを受け入れます。これは、サンドボックス化によるiOSのネイティブ動作です。マイクロソフトのonedriveでも、ExcelなどのMicrosoftアプリケーションを起動するために同じウィンドウを使用します。 – Zoop
回答を投稿しました。他人を助けるために同意する。ハッピーコーディング。乾杯。 – Gandhi