Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android System.getenv(“辅助存储”)使用AVD返回null_Android - Fatal编程技术网

Android System.getenv(“辅助存储”)使用AVD返回null

Android System.getenv(“辅助存储”)使用AVD返回null,android,Android,我在Windows7上使用Android Studio 1.5。我创建了一个模拟Nexus_5_API_21的AVD。我指定了一个2GB的SD卡。我已将一个文件复制到SD卡上。为什么System.getenv(“辅助存储”)返回null 我相信你现在一定已经意识到我有多绿了。还有一个事实。此代码适用于SD卡上有文件的真实手机。请尝试以下操作: String strSDCardPath = System.getenv("SECONDARY_STORAGE"); if ((null == strSD

我在Windows7上使用Android Studio 1.5。我创建了一个模拟Nexus_5_API_21的AVD。我指定了一个2GB的SD卡。我已将一个文件复制到SD卡上。为什么System.getenv(“辅助存储”)返回null


我相信你现在一定已经意识到我有多绿了。还有一个事实。此代码适用于SD卡上有文件的真实手机。

请尝试以下操作:

String strSDCardPath = System.getenv("SECONDARY_STORAGE");
if ((null == strSDCardPath) || (strSDCardPath.length() == 0)) {
    strSDCardPath = System.getenv("EXTERNAL_SDCARD_STORAGE");
}
另请阅读以下内容以供参考: 这是解决方案。 试试看

首先获取列表中的所有文件

var file=new Java.IO.File("storage/");
var listOfStorages=file.ListFiles();

var isSDPresent=false;

if(listOfStorages[1].Name.Containes("emmulated")
||listOfStorages[0].Name.Containes("-") )
{
   isSDPresent=true;
}

既然没有文档说明Android上存在这样的环境变量,为什么您希望它不是
null
?此外,AVD的“SD卡”型号不是。@commonware虽然没有关于辅助存储的文档,但它在框架中使用:它也用于许多流行的文件管理器应用程序。我假设SD卡实际上是内部存储(不是可移动的SD)。您应该改用
Environment.getExternalStorageDir()