ionic v4无法访问外部SD卡

时间:2019-06-24 08:47:05

标签: android angular6 ionic4

请任何人帮助我使用Ionic-v4和Angular 6访问设备外部存储器(SD卡),并且平台是Android。

我尝试使用Ionic本机文件,但它仅显示内部存储器的路径。

// file system access
import { File } from '@ionic-native/file/ngx';
// file opener
import { FileOpener } from '@ionic-native/file-opener/ngx';
// document viewer
import { DocumentViewer, DocumentViewerOptions } from '@ionic-native/document-viewer/ngx';

............

let path = this.file.externalRootDirectory;
this.file.checkDir(path, 'mydir').then(_ => {
  console.log('Directory exists');
  this.showAlert('Directory exists','','Directory exists: '+path);
}).catch(err =>{
  console.log('Directory doesnt exists');
  this.showAlert('Directory doesnt exists','','Directory doesnt exists: '+path);
});

然后我尝试了cordova-diagnostic-plugin的getExternalSdCardDetails()方法

import { Diagnostic } from '@ionic-native/diagnostic';

.........

this.diagnostic.getExternalSdCardDetails().then(obj => {
  this.showAlert('xxxxxxxx','','xxxxxxxx: '+JSON.stringify(obj));
}, (errData)=>{

});

但是它不起作用。

我是Ionic的新手,请任何人帮助阅读Ionic4和angular6的外部存储器或SD卡(适用于Android平台)。 谢谢。

2 个答案:

答案 0 :(得分:1)

我认为您可以在应用中使用externalApplicationData并将应用移至外部SD卡。转到应用详细信息> 存储。如果无法使用移至外部的选项,请在电话上启用开发人员选项,然后“强制将应用程序启用到外部卡”。现在,即使Ionic文件仍会报告类似“ file:// storage / emulated / 0”之类的信息,该应用仍可以完全访问其在外部卡上的沙盒数据。

答案 1 :(得分:0)

带有文件插件,您可以这样使用

await this.file.listDir(this.file.externalRootDirectory, '')

或者您可以在链接中引用演示,该链接是使用ionic的文件管理器应用

https://github.com/JainBhavesh/FileManagerIonic4