gpt4 book ai didi

java - 注销 Web 应用程序时从 Webview 返回应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 08:44:25 25 4
gpt4 key购买 nike

我粘贴了一小段代码,允许用户点击 webview 并返回到我的登录应用程序。 webview 中的 Web 应用程序只有在他们单击 webview 中运行的 Web 应用程序中的注销时才应执行此操作。换句话说,它不应该仅仅因为他们点击了 webview 中的某个地方就返回到登录应用程序。

我已尝试使用 onPageStarted 执行此操作,但无法使其正常工作。它需要 3 个参数,Android Studio 甚至不会编译它。这可能是我尝试调用它的方式,因为在阅读文档后我不太了解如何调用该方法。

此外,我尝试创建一个名为 myWebClient 的私有(private)类来调用 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();

}

});

最佳答案

可能这就是您正在寻找的:

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 接口(interface)来与代码通信。

关于java - 注销 Web 应用程序时从 Webview 返回应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com