请任何人帮助我使用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平台)。 谢谢。
答案 0 :(得分:1)
我认为您可以在应用中使用externalApplicationData
并将应用移至外部SD卡。转到应用详细信息> 存储。如果无法使用移至外部的选项,请在电话上启用开发人员选项,然后“强制将应用程序启用到外部卡”。现在,即使Ionic文件仍会报告类似“ file:// storage / emulated / 0”之类的信息,该应用仍可以完全访问其在外部卡上的沙盒数据。
答案 1 :(得分:0)
带有文件插件,您可以这样使用
await this.file.listDir(this.file.externalRootDirectory, '')
或者您可以在链接中引用演示,该链接是使用ionic的文件管理器应用
https://github.com/JainBhavesh/FileManagerIonic4