Android Question Open video with intent does not work?!!

heshamsalah100

New Member
B4X:
Sub Button1_Click


     
     
    Dim rp As RuntimePermissions
    rp.CheckAndRequest(rp.PERMISSION_READ_EXTERNAL_STORAGE)
    Wait For Activity_PermissionResult (Permission As String, ResultCkeck As Boolean)
  
    If ResultCkeck = True Then
        cc.Initialize("cc")
        cc.show("video/*", "Choose video")
       
    End If
End Sub



Sub CC_Result (Success As Boolean, Dir As String, FileName As String)
    If Success Then
         
        ToastMessageShow("The Video sucessfully Selected!", True)
        Try
            Dim rp As RuntimePermissions
            rp.CheckAndRequest(rp.PERMISSION_READ_EXTERNAL_STORAGE)
                Wait For Activity_PermissionResult (Permission As String, ResultCkeck As Boolean)
         If ResultCkeck = True Then
             Intent_OpenFile(Dir,FileName)
        Else  
                ToastMessageShow("No permission", True)
        End If
           
           
        Catch
            ToastMessageShow(LastException,True)
        End Try
 
    Else
        ToastMessageShow("The video not selected!", True)
    End If
End Sub

Sub Intent_OpenFile(Dir As String,Filename As String) As Boolean

    Try
        Dim ext As String
        ext = Filename.SubString(Filename.LastIndexOf(".")+1)
     
        Dim i As Intent
        i.Initialize(i.ACTION_VIEW,CreateFileProviderUri(Dir,Filename))
        i.SetComponent("android/com.android.internal.app.ResolverActivity")
     
        Dim types As Map
        types.Initialize

        types.Put("apk","application/vnd.android.package-archive")
        ''types.Put("mp4","video/mp4")
        types.Put("au","audio/basic")
        types.Put("avi","video/msvideo, video/avi, video/x-msvideo")
        types.Put("bmp","image/bmp")
        types.Put("bz2","Application/x-bzip2")
        types.Put("css","text/css")
        types.Put("dtd","Application/xml-dtd")
        types.Put("doc","Application/msword")
        types.Put("docx","Application/vnd.openxmlformats-officedocument.wordprocessingml.document")
        types.Put("dotx","Application/vnd.openxmlformats-officedocument.wordprocessingml.template")
        types.Put("es","Application/ecmascript")
        types.Put("exe","Application/octet-stream")
        types.Put("gif","image/gif")
        types.Put("gz","Application/x-gzip")
        types.Put("hqx","Application/mac-binhex40")
        types.Put("html","text/html")
        types.Put("jar","Application/java-archive")
        types.Put("jpg","image/jpeg")
        types.Put("js","Application/x-javascript")
        types.Put("midi","audio/x-midi")
        types.Put("mp3","audio/mpeg")
        types.Put("mpeg","video/mpeg")
        types.Put("ogg","audio/vorbis, Application/ogg")
        types.Put("pdf","Application/pdf")
        types.Put("pl","Application/x-perl")
        types.Put("png","image/png")
        types.Put("potx","Application/vnd.openxmlformats-officedocument.presentationml.template")
        types.Put("ppsx","Application/vnd.openxmlformats-officedocument.presentationml.slideshow")
        types.Put("ppt","Application/vnd.ms-powerpointtd>")
        types.Put("pptx","Application/vnd.openxmlformats-officedocument.presentationml.presentation")
        types.Put("psv","Application/postscript")
        types.Put("qt","video/quicktime")
        types.Put("ra","audio/x-pn-realaudio, audio/vnd.rn-realaudio")
        types.Put("ram","audio/x-pn-realaudio, audio/vnd.rn-realaudio")
        types.Put("rdf","Application/rdf, Application/rdf+xml")
        types.Put("rtf","Application/rtf")
        types.Put("sgml","text/sgml")
        types.Put("sit","Application/x-stuffit")
        types.Put("sldx","Application/vnd.openxmlformats-officedocument.presentationml.slide")
        types.Put("svg","image/svg+xml")
        types.Put("swf","Application/x-shockwave-flash")
        types.Put("tar.gz","Application/x-tar")
        types.Put("tgz","Application/x-tar")
        types.Put("tiff","image/tiff")
        types.Put("tsv","text/TAB-separated-values")
        types.Put("txt","text/plain")
        types.Put("wav","audio/wav, audio/x-wav")
        types.Put("xlam","Application/vnd.ms-excel.addin.macroEnabled.12")
        types.Put("xls","Application/vnd.ms-excel")
        types.Put("xlsb","Application/vnd.ms-excel.sheet.binary.macroEnabled.12")
        types.Put("xlsx","Application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
        types.Put("xltx","Application/vnd.openxmlformats-officedocument.spreadsheetml.template")
        types.Put("xml","Application/xml")
        types.Put("zip","Application/zip, Application/x-compressed-zip")
     
        If types.ContainsKey(ext) Then
            i.SetType(types.Get(ext))
        Else
            i.SetType("application/vnd.android.package-archive")
        End If
               
        StartActivity(i)
     
        Return True
    Catch
        Return False
    End Try

End Sub
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
All of this code is incorrect.

Complete code:
B4X:
Sub Button1_Click
    Dim cc As ContentChooser
    cc.Initialize("cc")
    cc.Show("video/*", "chooose video")
    Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
    If Success Then
        Dim in As Intent
        in.Initialize(in.ACTION_VIEW, FileName)
        in.SetType("video/*")
        StartActivity(in)
    End If
End Sub
 
Upvote 0
Top