Cannot use absolute path in Obsidian URI in Android

I’m working on a tool widget and idk why I cannot use path parameter to call Obsidian URI to open notes.

I assumed “/storage/emulated/0/” (or the path got from Environment.getExternalStorageDirectory().path) is the beginning of an absolute path in external storage.

example code:

val absolutePath = Environment.getExternalStorageDirectory().path + "/" + vaultPath + "/" + filePath
val encodedPath = URLEncoder.encode(absolutePath, "UTF-8").replace("+", "%20")
val uri = Uri.parse("obsidian://open?path=$encodedPath")
val openNoteIntent = Intent(Intent.ACTION_VIEW, uri)
Log.d("WidgetOpenIntent", "Opening Uri: $uri")

Also I cannot get vault id from vault folder in Android, so it seems impossible to accurately locate the desired vault in case of multiple vaults exist with identical names at the same time.