kanecyx 发表于 2016-2-29 17:42:49

安桌手机app无法取得external文件夹地址

本人ionic新手,安卓app要从服务器下载打开pdf,word等类型的文件
已经配置了cordova-plugin-file,cordova-plugin-file-transfer等插件
实现的时候是用cordova-plugin-file-transfer 下载文件到 cordova.file.externalApplicationStorageDirectory
然后用cordova-plugin-file-opener2打开.
然而cordova.file.externalApplicationStorageDirectory一直返回null 试了其他几个external的路径要不是undefined要不是null,
但是像dataDirectory是可以取到具体的地址的.
以为是权限的问题,查了下cordova的几个plugin里都已经有了权限设定
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
打包生成好的apk里AndroidManifest.xml里也是有这个声明的.
现在不知道哪里出问题了,各路大神求救!
$scope.downloadOpenFile = function(){
$ionicPlatform.ready(function(){
   var _saveDirectory = cordova.file.externalApplicationStorageDirectory;=========〉 alert出来这个一直是空
   alert(_saveDirectory);
   var fileName = getFileNameFromFullPath($scope.ppt.path);
   var tPath = _saveDirectory + fileName;
   var fMIME = fileMIMEType;
   $cordovaFileTransfer.download($scope.ppt.path, tPath, {}, true).then(function(result) {
    alert("success");
    $cordovaFileOpener2.open(tPath,fMIME).then(function() {
   // file opened successfully
    }, function(err) {
   alert('Failed because: ' + error);
    });
   
   }, function(err) {
   alert('Failed because: ' + error);
   }, function (progress) {
   });
   
});
};

ionicwang 发表于 2016-2-29 20:21:34

cordova.file.externalApplicationStorageDirectory

这个插件应该没有必要吧。

直接下载就会有保存的路径,然后cordova-plugin-file-opener2就可以打开


我记得做升级的时候下载完成就直接打开安装了

kanecyx 发表于 2016-3-2 08:35:31

fileTransfer下载总要有本地个地址吧,因为安桌上pdf什么的要其它软件打开好像只能放在external的文件夹下面才能打开,我现在是申明了权限但是怎么都打不开这个地址

你懂的 发表于 2016-3-2 18:45:07

你试试pdf先放在本地,看看能打开吗?
页: [1]
查看完整版本: 安桌手机app无法取得external文件夹地址