【发布时间】:2013-12-10 18:50:21
【问题描述】:
我想在 Android 中通过 webview 显示我的网站 但首先我要启动 webView.getSettings().setJavaScriptEnabled(false); ((一开始我不想运行 JavaScript)) 在页面完全加载或 10 秒后程序 webView.getSettings().setJavaScriptEnabled(true);自动地 ((然后我想要runJavaScript)) 我使用 Thread.sleep 但没有用 请帮帮我
这是我的代码
public class Activity1 extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
String url = "http://student.iaun.ac.ir";
webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new myWebViewClient());
webView.getSettings().setJavaScriptEnabled(false);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.loadUrl(url);
new Thread(new Runnable() {
@Override
public void run() {
try {
newActivity();
} catch (InterruptedException e) {
webView.getSettings().setJavaScriptEnabled(true);
e.printStackTrace();
}
}
}).start();
}
void newActivity() throws InterruptedException {
Thread.sleep(15001);
startActivity(getIntent());
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
【问题讨论】:
-
你为什么把你的
setJavaScriptEnabled(true)放在一个catch块里?它不会以这种方式执行。只需将其移到 try 块中的newActivity();行下方即可。 -
你为什么要重新开始自己的活动?
-
kiruwka:你能写出正确的代码和有效的代码吗