سلام من تمام تاپیک های مر بوط به content chooser در انجمن و در سایت اصلی b4a دیدم.
من از این دو تابع استفاده کردم و هنوز مشکل حل نشده مقدار null بر می گردونه
آیا روشی به جز content chooser هست
من می خوام عکس و فیلم و موزیک انتخاب کنه
Sub GetPathFromContentResult(UriString As String) As String
If UriString.StartsWith("/") Then Return UriString
Dim Cursor1 As Cursor
Dim Uri1 As Uri
Dim Proj() As String = Array As String("_data")
Dim cr As ContentResolver
cr.Initialize("")
If UriString.StartsWith("content://com.android.providers.media.documents") Then
Dim i As Int = UriString.IndexOf("%3A")
Dim id As String = UriString.SubString(i + 3)
Uri1.Parse("content://media/external/images/media")
Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "")
Else
Uri1.Parse(UriString)
Cursor1 = cr.Query(Uri1, Proj, "", Null, "")
End If
Cursor1.Position = 0
Dim res As String
res = Cursor1.GetString("_data")
Cursor1.Close
Return res
End Sub
Sub GetPathFromContentResult2(UriString As String) As String
If UriString.StartsWith("/") Then Return UriString 'If the user used a file manager to choose the image
Dim Proj() As String
Proj = Array As String("_data")
Dim Cursor As Cursor
Dim r As Reflector
Dim Uri As Object
Uri = r.RunStaticMethod("android.net.Uri", "parse", _
Array As Object(UriString), _
Array As String("java.lang.String"))
r.Target = r.GetContext
r.Target = r.RunMethod("getContentResolver")
Cursor = r.RunMethod4("query", _
Array As Object(Uri, Proj, Null, Null, Null), _
Array As String("android.net.Uri", _
"[Ljava.lang.String;", "java.lang.String", _
"[Ljava.lang.String;", "java.lang.String"))
Cursor.Position = 0
Dim res As String
res = Cursor.GetString("_data")
Cursor.Close
Return res
End Sub
سوال
hosseinkarimian 100
سلام من تمام تاپیک های مر بوط به content chooser در انجمن و در سایت اصلی b4a دیدم.
من از این دو تابع استفاده کردم و هنوز مشکل حل نشده مقدار null بر می گردونه
آیا روشی به جز content chooser هست
من می خوام عکس و فیلم و موزیک انتخاب کنه
Sub GetPathFromContentResult(UriString As String) As String If UriString.StartsWith("/") Then Return UriString Dim Cursor1 As Cursor Dim Uri1 As Uri Dim Proj() As String = Array As String("_data") Dim cr As ContentResolver cr.Initialize("") If UriString.StartsWith("content://com.android.providers.media.documents") Then Dim i As Int = UriString.IndexOf("%3A") Dim id As String = UriString.SubString(i + 3) Uri1.Parse("content://media/external/images/media") Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "") Else Uri1.Parse(UriString) Cursor1 = cr.Query(Uri1, Proj, "", Null, "") End If Cursor1.Position = 0 Dim res As String res = Cursor1.GetString("_data") Cursor1.Close Return res End Sub Sub GetPathFromContentResult2(UriString As String) As String If UriString.StartsWith("/") Then Return UriString 'If the user used a file manager to choose the image Dim Proj() As String Proj = Array As String("_data") Dim Cursor As Cursor Dim r As Reflector Dim Uri As Object Uri = r.RunStaticMethod("android.net.Uri", "parse", _ Array As Object(UriString), _ Array As String("java.lang.String")) r.Target = r.GetContext r.Target = r.RunMethod("getContentResolver") Cursor = r.RunMethod4("query", _ Array As Object(Uri, Proj, Null, Null, Null), _ Array As String("android.net.Uri", _ "[Ljava.lang.String;", "java.lang.String", _ "[Ljava.lang.String;", "java.lang.String")) Cursor.Position = 0 Dim res As String res = Cursor.GetString("_data") Cursor.Close Return res End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر
7 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.