我已粘贴了一小段代码,允许此人点击webview
并返回我的登录应用。 webview
中的Web应用程序只有在单击在 webview
中运行的Web应用程序内的注销时才会执行此操作。换句话说,它不应该仅仅因为他们点击了webview中的某个地方而返回登录应用程序。
我尝试使用onPageStarted
执行此操作,但无法使其正常工作。它要求3个参数,Android Studio
甚至不会编译它。这可能是我试图调用它的方式,因为我不太明白如何在阅读文档后调用该方法。
另外,我尝试创建一个名为myWebClient
的私有类来调用onPageStarted
,但似乎无法在我的MainActivity
中正确地调用那个。
这是工作代码,它将带我回到我的应用程序,在webview中的任何点击。
webView.setOnTouchListener(new View.OnTouchListener() {
String checkurl;
public boolean onTouch(View v, MotionEvent e) {
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
Toast.makeText(getApplicationContext(), checkurl, Toast.LENGTH_LONG).show();
return false;
}
});
这是我尝试过的无效功能。
webView.setOnTouchListener(new View.OnTouchListener() {
String checkurl;
public boolean onTouch(View v, MotionEvent e) {
public void onPageStarted( WebView view, String url, Bitmap favicon){
if (checkurl == "mylogoutURLgoes here") {
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
}
super.onPageStarted(webView, url, favicon);
}
Toast.makeText(getApplicationContext(), checkurl, Toast.LENGTH_LONG).show();
}
});
答案 0 :(得分:3)
这可能就是你要找的东西:
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if ("myLogoutUrl".equals(url)){
//do stuff
}
super.onPageStarted(view, url, favicon);
}
});
另一种解决方案是添加Javascript
接口以与代码进行通信。
答案 1 :(得分:0)
这篇文章应该引导你朝着正确的方向前进。 Detect click on HTML button through javascript in Android WebView
您需要在Java中创建按钮并在Web应用程序中添加javascript界面组件来处理它们。