Private Sub AddToMediaStore(Dir As String, FileName As String, Mime As String, Title As String, IsAlarm As Boolean, IsNotification As Boolean, _
IsRingtone As Boolean, IsMusic As Boolean) As String
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim values As ContentValues
values.Initialize
values.PutString("_display_name", Title)
values.PutString("title", Title)
values.PutString("mime_type", Mime)
values.PutBoolean("is_ringtone", IsRingtone)
values.PutBoolean("is_notification", IsNotification)
values.PutBoolean("is_alarm", IsAlarm)
values.PutBoolean("is_music", IsMusic)
Dim cr As ContentResolver
cr.Initialize("")
Dim MediaStoreImagesMedia As JavaObject
MediaStoreImagesMedia.InitializeStatic("android.provider.MediaStore.Audio$Media")
Dim EXTERNAL_CONTENT_URI As Uri = MediaStoreImagesMedia.GetField("EXTERNAL_CONTENT_URI")
cr.Delete(EXTERNAL_CONTENT_URI, "_display_name = ?", Array As String(Title))
Dim RingtoneUri As JavaObject = cr.Insert(EXTERNAL_CONTENT_URI, values)
Dim in As InputStream = File.OpenInput(Dir, FileName)
Dim out As OutputStream = ctxt.RunMethodJO("getContentResolver", Null).RunMethod("openOutputStream", Array(RingtoneUri))
File.Copy2(in, out)
out.Close
Return RingtoneUri.RunMethod("toString", Null)
End Sub