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
[CODE lang="b4x" title="webView for expired SSL sites" highlight="WebView error"]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



[/CODE]
1763439714671.png
 
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.



[CODE lang="b4x" title="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)[/CODE]

it work for examole google.com

1763446960336.png
 
Upvote 0
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.



[CODE lang="b4x" title="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)[/CODE]

it work for examole google.com

View attachment 168440
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
Back
Top