android使用webview时按后退退出的问题
使用webview打包圖片站點http://www.gg4493.cn,代碼都好了,具體如下
?
public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);WebView webView=new WebView(this);webView.getSettings().setJavaScriptEnabled(true);//支持js
webView.loadUrl("http://www.gg4493.cn");//這里的就會加載網址:http://www.gg4493/到webview中webView.setWebViewClient(new MyWebViewClient());}@Overridepublic 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;}@Overridepublic 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://www.gg4493.cn/");
? 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);
}
}
轉載于:https://www.cnblogs.com/yangjiyue/p/7771694.html
總結
以上是生活随笔為你收集整理的android使用webview时按后退退出的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [BZOJ1857][Scoi2010]
- 下一篇: 洱海vip私人游艇价格