AS3 Adob​​e Air可以使用Android(检测外部SD卡)isExternalStorageRemovable吗?

时间:2014-02-04 07:41:03

标签: android actionscript-3 air sd-card air-native-extension

在Android SDK中,我们可以使用

检测外部SD卡
Environment.isExternalStorageRemovable();

 Environment.isExternalStorageEmulated();

我想知道Adobe Air Android SDK(3.2或更高版本)是否可行?

由于

3 个答案:

答案 0 :(得分:1)

我不相信AIR SDK有一个等效的方法。但是,可以开发“AIR Native Extensions(ANEs)”,以便您访问本机环境中可用的方法。你可以在网上找到很多教程,但我建议你开始here

答案 1 :(得分:1)

我不知道这可能适用于Android,但无论如何

import flash.filesystem.StorageVolume;
import flash.filesystem.StorageVolumeInfo;

var volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); 
for (var i = 0; i < volumes.length; i++) 
{ 
    var volume:StorageVolume = volumes[i];
    trace ("isRemovable :" + volume.isRemovable);
}

虽然不记得这样的事,

Environment.isExternalStorageEmulated();

恕我直言,无论如何你可能需要ANE。

答案 2 :(得分:0)

应该工作:

<强> isExternalStorageRemovable()

public static boolean isExternalStorageRemovable() {
    String val = System.getenv("SECONDARY_STORAGE");
    if (val == null) {
        return false;
    }
    File microSd = null;
    String[] arr = val.split(":");
    for (String path : arr) {
        File file = new File(path);
        if (file.isDirectory()) {
            microSd = file;
            break;
        }
    }
    return microSd != null;
}

<强> isExternalStorageEmulated()

public static boolean isExternalStroageEmulated() {
    return System.getEnv("EMULATED_STORAGE_SOURCE") != null;
}