Android 以离子/角度显示从API下载的PDF

Android 以离子/角度显示从API下载的PDF,android,angularjs,cordova,ionic,Android,Angularjs,Cordova,Ionic,我需要点击一个API端点,它返回一个pdf文件(不是pdf的url,而是实际数据),然后在我的ionic应用程序中以某种方式显示这个pdf。理想情况下,我只想将其应用于其他应用程序,如手机的移动网络浏览器,但我也愿意尝试将其嵌入到我的应用程序中。在iOS上,我只使用$window.open(url),mobile safari知道下载并显示返回的pdf。然而,Android试图下载文件,然后告诉我,当我试图打开它时,它无法打开 我还尝试将其嵌入到应用程序中,但没有嵌入任何内容。但是,类似的方法也

我需要点击一个API端点,它返回一个pdf文件(不是pdf的url,而是实际数据),然后在我的ionic应用程序中以某种方式显示这个pdf。理想情况下,我只想将其应用于其他应用程序,如手机的移动网络浏览器,但我也愿意尝试将其嵌入到我的应用程序中。在iOS上,我只使用$window.open(url),mobile safari知道下载并显示返回的pdf。然而,Android试图下载文件,然后告诉我,当我试图打开它时,它无法打开

我还尝试将其嵌入到应用程序中,但没有嵌入任何内容。但是,类似的方法也适用于
中的图像

我也尝试过在cordova FileOpener2上乱搞,但在这方面我遇到了很多麻烦。如果这是正确的方法,我愿意重新访问该方法


我得到的最接近的结果肯定是将它发送到设备移动浏览器,因为它在iOS上运行得非常好。

我使用filetransfer和fileopener2解决了这个问题。我的代码如下。我遇到的主要问题是config.xml文件中没有
,并且没有正确安装ngCordova

if (ionic.Platform.isIOS())
  $window.open(APIUrl, '_blank', 'location=no');
else if (ionic.Platform.isAndroid()) {

  var fileExtension = filename.substr(filename.lastIndexOf('.')+1);

  //I have a dictionary with this somewhere else
  var MIMEType = extToMime[fileExtension];


  var uri = encodeURI(APIurl);
  var fileURL = "cdvfile://localhost/persistent/file."+fileExtension;

  $cordovaFileTransfer.download(uri, fileURL, {}, true)
  .then(function(result) {
    $cordovaFileOpener2.open(
      fileURL,
      MIMEType
    ).then(function() {
      console.log("SUCCESS");
    }, function(e) {
      console.log("ERROR");
      console.log(JSON.stringify(e));
    });
  }, function(e) {
    console.log("Error: " + JSON.stringify(e));
  });
}

Android将文件下载为.bin,而不是正确的扩展名(pdf或jpg)