无法在 Android Webview 中打开 Facebook 消息
Not able to open Facebook Messages in Android Webview
这就是我初始化 Web 视图的方式
webview1.getSettings().setJavaScriptEnabled(true);
webview1.loadUrl("https://www.facebook.com/raquel.corpusescalante");
webview1.setWebViewClient(new WebClientClass());
webview1.setWebChromeClient(new WebChromeClient());
这是 WebClientClass
public class WebClientClass extends WebViewClient {
ProgressDialog pd = new ProgressDialog(WebViewGeneralActivity.this);
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (pd != null && !pd.isShowing()) {
pd.setTitle("Por favor espera");
pd.setMessage("Cargando...");
pd.show();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pd.dismiss();
}
}
此 Facebook 个人资料页面已完全加载,但当我单击消息图标时显示错误
这可能是什么原因
实际上它试图在 Web 视图中打开 Facebook Messenger,它在 Web 视图中为此发送一个意图 link 即 intent:// user ....所以我通过更改代码来处理它
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(!(url.startsWith("intent"))){
view.loadUrl(url);
}
return true;
}
这就是我初始化 Web 视图的方式
webview1.getSettings().setJavaScriptEnabled(true);
webview1.loadUrl("https://www.facebook.com/raquel.corpusescalante");
webview1.setWebViewClient(new WebClientClass());
webview1.setWebChromeClient(new WebChromeClient());
这是 WebClientClass
public class WebClientClass extends WebViewClient {
ProgressDialog pd = new ProgressDialog(WebViewGeneralActivity.this);
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (pd != null && !pd.isShowing()) {
pd.setTitle("Por favor espera");
pd.setMessage("Cargando...");
pd.show();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pd.dismiss();
}
}
此 Facebook 个人资料页面已完全加载,但当我单击消息图标时显示错误
这可能是什么原因
实际上它试图在 Web 视图中打开 Facebook Messenger,它在 Web 视图中为此发送一个意图 link 即 intent:// user ....所以我通过更改代码来处理它
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(!(url.startsWith("intent"))){
view.loadUrl(url);
}
return true;
}