自定义Android操作系统上缺少Android API

时间:2016-05-31 02:40:07

标签: android android-sdcard

我正在尝试在Android设备的外部存储卡上读取和写入文件。 我使用了以下代码,您可以参考https://developer.android.com/guide/topics/data/data-storage.html#filesExternal了解更多详情。

public String getExternalPath(){

    int ver = Build.VERSION.SDK_INT;
    File[] externalRoots = null;
    if(ver <= Build.VERSION_CODES.JELLY_BEAN_MR2){          
        externalRoots = ContextCompat.getExternalFilesDirs(getBaseContext(), null);
    } else {
        externalRoots = getExternalFilesDirs(null);   
    }   

    File externalRoot = null;
    if(externalRoots.length > 1){
        externalRoot = externalRoots[1];
    } else {
        externalRoot = externalRoots[0];
    }       
    if(externalRoot != null){
        return externalRoot.getAbsolutePath();
    }
    return null;
}

但是,它在某些设备上运行正常,而不是全部。例如,使用华硕设备,LG或三星设备,在外部存储卡(可移动)上读写文件效果非常好,但在联想,Aquaris等中国设备上却无法实现。

你能帮我解释一下为什么会出现这个问题吗?或者给我一些官方文件,谈论OEM定制Android OS的差异。

谢谢!

0 个答案:

没有答案