请让我知道什么是下载
文件夹中有和没有SD卡设备的默认位置。
Please let me know what are default locations for Downloads
folder on devices with and without SD card.
和我怎么能检查是否特定的手机没有SD卡。
And how can I check if particular phone doesn't have SD card.
要检查,看看设备是否具有SD卡,可以使用: Environment.getExternalStorageState()
如果你没有SD卡,可以使用: Environment.getDataDirectory()
To check and see if a device has an SD card, you use: Environment.getExternalStorageState()
if you don't have an SD card, you use: Environment.getDataDirectory()
从本质上讲,如果没有SD卡,您可以在本地创建自己的设备上的目录。我列出了一些code,可以帮助:
Essentially, if there is no SD card, you can create your own directory on the device locally. I've listed some code that might help:
/*
* This sections checks the phone to see if there is a SD card. if
* there is an SD card, a directory is created on the SD card to
* store the test log results. If there is not a SD card, then the
* directory is created on the phones internal hard drive
*/
//if there is no SD card, create new directory objects to make directory on device
if (Environment.getExternalStorageState() == null) {
//create new file directory object
directory = new File(Environment.getDataDirectory()
+ "/RobotiumTestLog/");
photoDirectory = new File(Environment.getDataDirectory()
+ "/Robotium-Screenshots/");
/*
* this checks to see if there are any previous test photo files
* if there are any photos, they are deleted for the sake of
* memory
*/
if (photoDirectory.exists()) {
File[] dirFiles = photoDirectory.listFiles();
if (dirFiles.length != 0) {
for (int ii = 0; ii <= dirFiles.length; ii++) {
dirFiles[ii].delete();
}
}
}
// if no directory exists, create new directory
if (!directory.exists()) {
directory.mkdir();
}
// if phone DOES have sd card
} else if (Environment.getExternalStorageState() != null) {
// search for directory on SD card
directory = new File(Environment.getExternalStorageDirectory()
+ "/RobotiumTestLog/");
photoDirectory = new File(
Environment.getExternalStorageDirectory()
+ "/Robotium-Screenshots/");
if (photoDirectory.exists()) {
File[] dirFiles = photoDirectory.listFiles();
if (dirFiles.length > 0) {
for (int ii = 0; ii < dirFiles.length; ii++) {
dirFiles[ii].delete();
}
dirFiles = null;
}
}
// if no directory exists, create new directory to store test
// results
if (!directory.exists()) {
directory.mkdir();
}
}// end of SD card checking
希望这有助于。
Hope this helps.