安卓开发之android使用webview时按后退会退出而不是回退的问题
最近公司使用android打包html5游戲,
使用android點(diǎn)webview打包html5游戲,代碼都好了,具體如下
一切貌似很完美,玩游戲,被電腦打敗了(我真菜!!!),游戲提示失敗,點(diǎn)擊“更多游戲”去查看其他游戲,點(diǎn)進(jìn)去后,然后點(diǎn)返回鍵,問題來(lái)了,不是挖掘技術(shù)哪家強(qiáng),是webview沒有后退功能,沒法退回首頁(yè),而是直接退出,android開發(fā)問題還真多啊,還好哥機(jī)靈,找資料唄!
終于找到問題了,
只需要重寫activity的onKeyDown方法,在onKeyDown里后退即可
public boolean onKeyDown(int keyCode ,KeyEvent keyEvent){
if(keyCode==keyEvent.KEYCODE_BACK){//監(jiān)聽返回鍵,如果可以后退就后退
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);
}
}
bingo
與君共勉~
轉(zhuǎn)載于:https://blog.51cto.com/8998489/1680000
總結(jié)
以上是生活随笔為你收集整理的安卓开发之android使用webview时按后退会退出而不是回退的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 架设流媒体服务器[转]
- 下一篇: Android Service+Sock