android使用webview时按后退退出的问题
来源:互联网 发布:斗牛神器软件下载 编辑:程序博客网 时间:2024/06/14 02:19
使用webview打包html5游戏,代码都好了,具体如下
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webView=new WebView(this); webView.getSettings().setJavaScriptEnabled(true);//支持js webView.loadUrl("http://www.ysmall.cc/mobile"); webView.setWebViewClient(new MyWebViewClient()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
一切貌似很完美,玩游戏,被电脑打败了,点击“更多游戏”去查看其他游戏,然后点返回键,问题来了,不是挖掘技术哪家强,是webview没有后退功能,没法退回首页,而是直接退出,android开发问题还真多啊,还好哥机灵,找资料呗!
终于找到问题了,
只需要重写activity的onKeyDown方法,在onKeyDown里后退即可
public boolean onKeyDown(int keyCode ,KeyEvent keyEvent){
if(keyCode==keyEvent.KEYCODE_BACK){//监听返回键,如果可以后退就后退
if(webView.canGoBack()){
webView.goBack();
return true;
}
}
return super.onKeyDown(keyCode, keyEvent);
}
全部代码贴出,免得以后忘记
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private void init() {
webView = new WebView(this);
webView.loadUrl("http://gqhondatp.61tg.com/");
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
setContentView(webView);
}
public boolean onKeyDown(int keyCode ,KeyEvent keyEvent){
if(keyCode==keyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();
return true;
}
}
return super.onKeyDown(keyCode, keyEvent);
}
}
- android使用webview时按后退退出的问题
- Android在使用WebView的时候需要后退多步
- android webview加载网页按后退键黑屏一下问题的解决方案
- 按后退键退出Android程序的方法
- Android WebView的前进、后退、与刷新
- Android WebView的前进、后退、与刷新
- Android WebView的前进、后退、与刷新
- Android WebView的前进、后退、与刷新
- Android WebView的前进、后退、与刷新
- Android WebView的前进、后退、与刷新
- WebView打开网页,设置支持Javascript,浏览的网页后退而不是退出浏览器,判断页面加载过程,缓存的使用
- 按后退键退出Android程序
- Android再按一次后退键退出
- 按后退键退出Android程序
- android按两次后退键退出程序
- 按后退键退出Android程序
- Android按两次后退键,退出程序
- 按后退键退出Android程序
- 大话——完成入门Android
- ada_求三角形面积
- QT Creator 使用 design 修改 ui界面编译后界面未更新问题的解决 From EricQu
- 老叶倡议:MySQL压力测试基准值
- 畅通工程(HDUOJ_1232)
- android使用webview时按后退退出的问题
- Ocaml学习笔记
- refresh的停车场 SDUT
- sap模板
- Scade——学习笔记
- The Suspects(POJ_1611)
- iLBC简要介绍
- Android jar包Proguard混淆方法
- 邮票分你一半