' Obtain application context.
Dim context As JavaObject
context.InitializeContext
' Get the ContentResolver from the context.
Dim cr As JavaObject = context.RunMethod("getContentResolver", Null)
' Initialize the MediaStore.Audio.Media static class.
Dim mediaStoreAudio As JavaObject
mediaStoreAudio.InitializeStatic("android.provider.MediaStore$Audio$Media")
' Get the external audio content URI.
Dim uri As Object = mediaStoreAudio.GetField("EXTERNAL_CONTENT_URI")
' Define the projection columns.
' Dim projection() As String = Array As String("TITLE", "_data", "DURATION", "ARTIST", "ALBUM")
Dim projection() As String = Array As String("TITLE", "_data", "DURATION", "ARTIST", "ALBUM")
' Perform the query.
' Dim selection As String = "MIME_TYPE LIKE 'audio/%'"
' Dim selection As String = "_data LIKE ?"
' The selection argument uses a wildcard (%) after the directory path.
' Dim selectionArgs() As String = Array As String("audio" & "/%")
' Dim cursor As JavaObject = cr.RunMethod("query", Array(uri, projection, selection, selectionArgs, Null))
Dim cursor As JavaObject = cr.RunMethod("query", Array(uri, projection, Null, Null, Null))
If cursor = Null Then
Log("Cursor is null; check that permissions are granted and MediaStore has scanned the files.")
Return
End If