Android Question web view for ssl pages

hello

i have webview in my project.

the site https://m88.ir/sam8 ssl is expired and my webView cannot show this

chatGPT cannot help for this error. and when cannot open page then open in external phone browser.

it is not good idea.

how i can made this truble .

thanks
webView for expired SSL sites:
Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private WebView1 As WebView
    Dim WebViewExtras1 As WebViewExtras
    Dim WebViewSetting1 As WebViewSettings
    Private btnBackfromWeb As Button
    Private btnmain As Button
    Private btnSup As Button
End Sub

Public Sub Initialize As Object
    Return Me
End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("frmwebpage.bal")

    mainPublic.strTitles = mainPublic.LoginName & "-" & mainPublic.LoginCoName
    B4XPages.SetTitle(Me, mainPublic.strTitles)
    mainPublic.currentpage = "web"

    btnmain_Click

    btnBackfromWeb.Text = mainPublic.btnTitle(79).Trim
    btnmain.Text = mainPublic.btnTitle(78).Trim
    btnSup.Text = mainPublic.btnTitle(80).Trim
End Sub

Private Sub B4XPage_Appear
    mainPublic.strTitles = mainPublic.LoginName & "-" & mainPublic.LoginCoName
    B4XPages.SetTitle(Me, mainPublic.strTitles)
End Sub

Private Sub WebView1_PageFinished (Url As String)
 #If Debug
    Log("web WebView1_PageFinished: " & Url)
    ToastMessageShow(mainPublic.btnTitle(81).Trim, False)
    #End If

    Sleep(300)

    Dim h As Int = GetContentHeight(WebView1)
    Log("ContentHeight=" & h)

    If h = 0 Then
        Log("⚠ صفحه سفید شناسایی شد → باز کردن در مرورگر اصلی")
'        OpenInExternalBrowser(Url)
'        StartBrowserNoKill(Url)
        OpenInExternalBrowserSafe(Url)

    End If
End Sub

Sub GetContentHeight(wv As WebView) As Int
    Dim jo As JavaObject = wv
    Return jo.RunMethod("getContentHeight", Null)
End Sub

Sub OpenInExternalBrowserSafe(u As String)
    Try
        Dim i As Intent
        i.Initialize(i.ACTION_VIEW, u)
        i.AddCategory("android.intent.category.BROWSABLE")

        ' اجرای مرورگر در یک Task کاملاً جدا
        i.Flags = Bit.Or(i.Flags, 0x10000000)       ' FLAG_ACTIVITY_NEW_TASK

        ' جلوگیری از بستن برنامه همراه با مرورگر
        i.Flags = Bit.Or(i.Flags, 0x08000000)       ' FLAG_ACTIVITY_CLEAR_TOP

        StartActivity(i)
    Catch
        Log("❗ Error opening external browser safely")
    End Try
End Sub


'#Region  ServiceStart Trick For WebView
'Sub StartBrowserNoKill(url As String)
'    Dim in As Intent
'    in.Initialize(in.ACTION_VIEW, url)
'    in.Flags = Bit.Or(in.Flags, 0x10000000) 'FLAG_ACTIVITY_NEW_TASK
'    StartActivity(in)
'End Sub
'#End Region

'Sub OpenInExternalBrowser(u As String)
'
'    Try
'        Dim i As Intent
'        i.Initialize(i.ACTION_VIEW, u)
'        i.AddCategory("android.intent.category.BROWSABLE")
'        i.Flags = Bit.Or(i.Flags, 0x10000000)   ' FLAG_ACTIVITY_NEW_TASK
'        StartActivity(i)
'    Catch
'        Log("Error opening browser")
'    End Try
'End Sub

Private Sub btnBackfromWeb_Click
    B4XPages.ShowPageAndRemovePreviousPages("mainpage")
End Sub

Private Sub btnSup_Click
    WebViewExtras1.addWebChromeClient(WebView1, "WebViewExtras1")

    WebViewSetting1.setDatabaseEnabled(WebView1, True)
    WebViewSetting1.setDOMStorageEnabled(WebView1, True)
    WebViewSetting1.setGeolocationEnabled(WebView1, True)
    WebViewSetting1.setJavaScriptCanOpenWindowsAutomatically(WebView1, True)
    WebViewSetting1.setSaveFormData(WebView1, True)
    WebViewSetting1.setSavePassword(WebView1, True)
    WebViewSetting1.setSupportZoom(WebView1, True)
    WebViewSetting1.setUseWideViewPort(WebView1, True)
    WebViewSetting1.setDatabasePath(WebView1, "")

    WebViewExtras1.addJavascriptInterface(WebView1, "B4X")

    Dim sss As String = mainPublic.strURLTitles
    WebView1.LoadUrl(sss)
End Sub

Public Sub btnmain_Click
    Dim urls As String = ""

    If mainPublic.menuOption_ROpValue.IsInitialized = False Then mainPublic.menuOption_ROpValue.Initialize

    For i = 0 To mainPublic.menuOption_ROpValue.Size - 1
        If mainPublic.menuOption_ROptioName.Get(i).As(String).ToLowerCase.Contains("http") Or _
           mainPublic.menuOption_ROptioName.Get(i).As(String).ToLowerCase.Contains("وب") Then

            If mainPublic.menuOption_ROptioName.Get(i).As(String).ToLowerCase.Contains("contact") Then
                urls = mainPublic.menuOption_ROpValue.Get(i)
                Exit
            End If
        End If
    Next

'    If urls.Trim = "" Then urls = "http://softlock.ir/"
    If urls.Trim = "" Then urls = "https://m88.ir/نرم-افزار-سام/"

    WebViewExtras1.addWebChromeClient(WebView1, "WebViewExtras1")

    WebViewSetting1.setDatabaseEnabled(WebView1, True)
    WebViewSetting1.setDOMStorageEnabled(WebView1, True)
    WebViewSetting1.setGeolocationEnabled(WebView1, True)
    WebViewSetting1.setJavaScriptCanOpenWindowsAutomatically(WebView1, True)
    WebViewSetting1.setSaveFormData(WebView1, True)
    WebViewSetting1.setSavePassword(WebView1, True)
    WebViewSetting1.setSupportZoom(WebView1, True)
    WebViewSetting1.setUseWideViewPort(WebView1, True)
    WebViewSetting1.setDatabasePath(WebView1, "")

    WebViewExtras1.addJavascriptInterface(WebView1, "B4X")

    WebView1.LoadUrl(urls)
End Sub
 
yes thanks
i see this
but not work true for m88.ir
all site can use same as google.com or softlock.ir or supportco.ir but this site (i think) expire ssl.
and dont show this.



error site:
  Dim jwv As JavaObject = WebView1
    Dim view As JavaObject
    view.InitializeStatic("android.view.View")
    jwv.RunMethod("setOverScrollMode", Array(view.GetField("OVER_SCROLL_NEVER")))
    
     urls = "https://m88.ir/نرم-افزار-سام/"
    
    WebView1.LoadUrl(urls)

it work for examole google.com

 
Upvote 0
please check this code
do you see empty or you can see page?

if you can see , i must change libs or compiler or my windows.
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…