Android Question StartActivityForResult , need help

itgirl

Active Member
Licensed User
hello guys , im trying to open intent to get uri of selected image but im facing little problem ...To start the intent i, using

B4X:
        Dim i As Intent
        i.Initialize("android.intent.action.GET_CONTENT", "")
        i.SetType("image/*")
        StartActivityForResult(i)
and then


B4X:
Sub ion_Event (MethodName As String, Args() As Object) As Object
If Args(0) = -1 Then 'resultCode = RESULT_OK
     Dim i As Intent = Args(1)
     Dim jo As JavaObject = i
     Dim Uri As String = jo.RunMethod("getParcelableExtra", _
       Array As Object("android.intent.extra.?????????")) ' HERE IS THE PROBLEM WHICH CODE SHOULD I USE HERE
     Log(Uri)
     Log(i)

   End If
   Return Null
End Sub
Sub StartActivityForResult(i As Intent)
  Dim jo As JavaObject = GetBA
   ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
  jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub
Sub GetBA As Object
  Dim jo As JavaObject
  Dim cls As String = Me
  cls = cls.SubString("class ".Length)
  jo.InitializeStatic(cls)
  Return jo.GetField("processBA")
End Sub


any one can help me out here ?
 
Last edited:

itgirl

Active Member
Licensed User
Why don't you use ContentChooser?
i would rather not to use ContentChooser it's better to stick to the native Gallery method . is it hard to get it the way im trying to do it ? i found a tut for you Erel HERE but it was for a ring tone it works great but you used
B4X:
android.intent.extra.ringtone.PICKED_URI
so i was wondering what should i use to get the uri of picked image?
 

itgirl

Active Member
Licensed User
What is the output of Log(i.ExtrasToString)?
that's what im facing here when i do
B4X:
log(i)
i get
B4X:
(Intent) Intent { dat=content://media/external/images/media/1 }
but when i do
B4X:
log(i.ExtrasToString)
i get
no extras
:(
 

Erel

Administrator
Staff member
Licensed User
Now that I go over your code I don't see any reason not to use ContentChooser. You will get the exact same result. ContentChooser creates the same intent that you are creating.
 

itgirl

Active Member
Licensed User
Ok Erel thanks for the advice , i think i will do just like you said and i will use ContentChooser , thanks for the replies you ROCK
 
Top