我运行了一个安装了shoutbox插件的论坛,用户可以像即时消息一样互相交流。我决定制作我认为是一个快速的应用程序,只显示shoutbox,以便用户可以在旅途中说话,而不是使用浏览器。我发现的问题是,使用android webview一切都很好但是当你尝试发送一个喊叫时,它会出现一个错误,说“失败!”好像它没有与实际的shoutbox通信。
我的问题是可以像这样使用webview,还是只能用于显示实际与之交互的网页?下面是我的代码我正在使用的所以你们可以看看我是否遗漏了任何东西,如果是这样,请指出我正确的方向谢谢。
public class splash extends Activity {
WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState)
{
final Activity mActivity = this;
super.onCreate(savedInstanceState);
// Adds Progrss bar Support
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.mainx);
// Makes Progress bar Visible
getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
mWebView = (WebView) findViewById( R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.myforum.com/forums/shoutbox.php");
mWebView.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress)
{
//Make the bar disappear after URL is loaded, and changes string to Loading...
mActivity .setTitle("Loading...");
mActivity .setProgress(progress * 100); //Make the bar disappear after URL is loaded
// Return the app name after finish loading
if(progress == 100)
{
setTitle(R.string.title);
}
}
});
}
}
答案 0 :(得分:0)
创建和设置
WebViewClient
子类。当事件发生影响内容的呈现时,例如,错误或表单提交,将调用它。您还可以在此拦截网址加载(通过shouldOverrideUrlLoading()
)。