Sub GetSDCardFolder() As String
'*************************************************************
'Try to find the location of removable external sdcard memory,
'perform a write test and return the folder name, if writable.
'*************************************************************
Dim root As String
Dim folder As String
Dim sdf As String
'------------------------------------
' Acer A500 Tablet
'------------------------------------
[COLOR="Blue"]root = "/mnt"
folder = "external_sd"[/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'------------------------------------
'Samsung Galaxy S2
'-------------------------------------
[COLOR="blue"]root = File.DirRootExternal
folder = "external_sd" [/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'-------------------------------------
' ASUS TF 101 (Micro SD)
'-------------------------------------
[COLOR="blue"]root = "/mnt/sdcard/Removable"
folder = "MicroSD"[/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'------------------------------------
'Asus TF 101 (SD-Card Keyboard Dock)
'------------------------------------
[COLOR="blue"]root = "/mnt/sdcard/Removable"
folder = "SD"[/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'-------------------------------------
'HTC Desire
'-------------------------------------
[COLOR="blue"]root = File.DirRootExternal
folder = "sd"[/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'-------------------------------------
'MOTOROLA DROID 3
'-------------------------------------
[COLOR="blue"]root = "/mnt"
folder = "sdcard-ext"[/COLOR]
If File.IsDirectory(root,folder) Then
sdf=root & "/" & folder
If Writetest(sdf) Then Return sdf
End If
'to be continued....
End Sub
Sub WriteTest(dirname As String) As Boolean
Dim s As String
Try
File.WriteString(dirname,"test.tmp","test")
s=File.ReadString(dirname,"test.tmp")
File.Delete(dirname,"test.tmp")
Catch
Log(LastException.Message)
Return False
End Try
If s="test" Then return true
End Sub