注销 Web 应用程序时从 Webview 返回应用程序
Returning to App from Webview on logout of web application
我粘贴了一小段代码,允许用户点击 webview
和 return 回到我的登录应用程序。 webview
中的 Web 应用程序只有在 在 webview
中运行的 Web 应用程序中单击注销时才应执行此操作。换句话说,它不应该 return 到登录应用程序只是因为他们点击了 webview 中的某个地方。
我已经尝试使用 onPageStarted
进行此操作,但无法正常工作。它要求 3 个参数,Android Studio
甚至不会编译它。这可能是我尝试调用它的方式,因为在阅读文档后我不太了解如何调用该方法。
此外,我尝试创建一个名为 myWebClient
的私有 class 来调用 onPageStarted
,但似乎无法在我的 MainActivity
中正确调用那个.
这是工作代码,在 web 视图中单击任何按钮时,它都会将我带回我的应用程序。
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
接口与代码通信。
这篇 post 应该会引导您朝着正确的方向前进。 Detect click on HTML button through javascript in Android WebView
您需要在 Java 中创建按钮并在您的网络应用程序中添加 javascript 界面组件来处理它们。
我粘贴了一小段代码,允许用户点击 webview
和 return 回到我的登录应用程序。 webview
中的 Web 应用程序只有在 在 webview
中运行的 Web 应用程序中单击注销时才应执行此操作。换句话说,它不应该 return 到登录应用程序只是因为他们点击了 webview 中的某个地方。
我已经尝试使用 onPageStarted
进行此操作,但无法正常工作。它要求 3 个参数,Android Studio
甚至不会编译它。这可能是我尝试调用它的方式,因为在阅读文档后我不太了解如何调用该方法。
此外,我尝试创建一个名为 myWebClient
的私有 class 来调用 onPageStarted
,但似乎无法在我的 MainActivity
中正确调用那个.
这是工作代码,在 web 视图中单击任何按钮时,它都会将我带回我的应用程序。
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
接口与代码通信。
这篇 post 应该会引导您朝着正确的方向前进。 Detect click on HTML button through javascript in Android WebView
您需要在 Java 中创建按钮并在您的网络应用程序中添加 javascript 界面组件来处理它们。