Italian Simulare un doppio o triplo click su WebView

Mattiaf

Active Member
Licensed User
Salve, è possibile simulare un doppio o triplo click simultanei sul webview? Non mi interessa la posizione e o coordinate. Mi basta in qualsiasi punto del webview perchè NON devo cliccare nessun elemento html.. Sto provando in lungo e in largo ma l'unico codice che ho trovato è

B4X:
Sub Activity_Create(FirstTime As Boolean)sleep(1000)
touchbutton(webview1)
end sub

Sub touchButton(w as webview)
    Dim r As Reflector
    r.Target = w
    r.RunMethod("performClick")
End Sub

ma non funziona nel senso che non fa nessun click. Sto usando sleep(1000) perchè mi interesserebbe cliccare solo una volta che la pagina nel webview è caricata completamente..
Grazie
 

ivanomonti

Expert
Licensed User
Longtime User
B4X:
Certo! Se vuoi contare i click del tasto destro del mouse su un Pane (o altro B4XView) in B4J, puoi usare l'evento MouseClicked e verificare se Event.Button = fx.MouseButton_SECONDARY.

Ecco un esempio completo:

Sub pnl_MouseClicked (EventData As MouseEvent)
  If EventData.Button = fx.MouseButton_SECONDARY Then
    rightClickCount = rightClickCount + 1
    Log("Tasto destro cliccato: " & rightClickCount)
  End If
End Sub
 

Star-Dust

Expert
Licensed User
Longtime User
Sì, puoi chiamare webView.performClick(), ma questo simulerà solo un click generico sul WebView (non su elementi interni).
Inoltre a partire da Android 10, i click programmatici sono limitati per motivi di sicurezza in alcuni casi.

Magari puoi usare JavaScript, ma meglio se spieghi esattamente cosa tenti di fare
 

TILogistic

Expert
Licensed User
Longtime User
1. Se devi simulare clic all'interno di contenuti web, usa JavaScript.
2. Se è necessario rilevare i tocchi dell'utente sulla WebView, utilizzare un GestureDetector.
3. Non è possibile simulare tocchi fisici reali su WebView senza autorizzazioni speciali (accessibilità, root, ecc.).
 
Top