Hi I have a webpage hosted on a local server which i display via a webview and in that page I want to call a b4a function via javascript. I have been looking at some examples of the webviewextra2 callsub command but i am still having a issue getting it to fire.
Here is my javascript code :
Here is my B4A code:
Can anyone see what the issue might be?
Here is my javascript code :
Javascript Code:
function preview(id) {
var ch_url = document.getElementById(id + "_url").value;
B4A.CallSub('play_url', false, 'hello');
}
Here is my B4A code:
B$A code:
#Region Project Attributes
#ApplicationLabel: B4A Example
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: True
#IncludeTitle: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private WebView1 As WebView
Private webviewextra As WebViewExtras
Private webviewsettings As WebViewSettings
Private javascriptinterface As DefaultJavascriptInterface
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Activity.LoadLayout("main_menu")
webviewextra.Initialize(WebView1)
Dim WebChromeClient1 As DefaultWebChromeClient
WebChromeClient1.Initialize("WebChromeClient1")
webviewextra.SetWebChromeClient(WebChromeClient1)
webviewextra.AddJavascriptInterface(javascriptinterface,"B4A")
webviewsettings.setCacheMode(WebView1,"LOAD_NO_CACHE")
WebView1.JavaScriptEnabled = True
WebView1.ZoomEnabled = False
WebView1.LoadUrl("http://192.168.10.81/portal/")
End Sub
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
Log(KeyCode)
If KeyCode = KeyCodes.KEYCODE_BACK Then
Log("back pressed")
WebView1.Back
Return True
Else
Return False
End If
End Sub
Sub play_url (url As String)
Log("it worked")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Can anyone see what the issue might be?