2015-04-18 71 views
1

我正在尝试使用Cordova从sd卡播放一些mp3文件(从远程服务器下载的应用程序)。Cordova + Android:如何获得SD卡的路径?

我试图用以下几点:

if($ionicPlatform.is('android')){ 
        src = 'yourPersistantAppFolder/main_expansion/' + src; 
       } 

if($ionicPlatform.is('android')){ 
        src = 'sdcard/yourPersistantAppFolder/main_expansion/' + src; 
       } 

但没有运气。

我试图找到一些anwser这里: https://github.com/apache/cordova-plugin-file

但是,如果没有运气。

非常感谢您的任何建议。

编辑:Android中

路径显示是这样的:

enter image description here

+0

第一你必须区分容易找到的“外部存储器”和可能或者“sdcard”可能不是同一件事,并且可能很难找到不同的供应商变体。然后,您需要弄清楚cordova如何向您展示这些Android API--或者在不太可能的情况下,您将不得不制作自己的插件。 –

+0

我刚更新了我的问题。 – redrom

回答

0

这可能会帮助: (JC ???是使用MySupport例程)

import { File } from "@ionic-native/file"; 
import { Diagnostic } from "@ionic-native/diagnostic"; 

constructor(
    ... 
    public file: File, 
    public diagnostic: Diagnostic 
){ 

this.diagnostic.getExternalSdCardDetails() 
.then((data) => { 
    this.jcError += "\n" + "sd:" + JSON.stringify(data); 
    this.jcError += "\n" + "Number cards: " + data.length; 
    for(let ii = 0; ii < data.length; ii += 1){ 
    let thisElem = data[ii]; 
    if(thisElem.type.toLowerCase() === "application" && thisElem.canWrite){ 
     this.ourSDentry = thisElem; 
     basePathSD = thisElem.filePath; 
     break; 
    } 
    } 
    if(!basePathSD){ 
    this.jcError += "\n\n" + "no SD card found"; 
    return; 
    } 
}, (errData)=>{ 
    tag = "getExternalSdCardDetails"; 
    this.jcError += "\n\n" + tag + ":ERR:" + JSON.stringify(errData); 
}); 
相关问题