modiran_ghaneipour
Member
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
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