最近公司使用android打包html5游戏,

使用android点webview打包html5游戏,代码都好了,具体如下


publicclassMainActivityextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);WebViewwebView=newWebView(this);webView.getSettings().setJavaScriptEnabled(true);//支持jswebView.loadUrl("http://www.ysmall.cc/mobile");webView.setWebViewClient(newMyWebViewClient());}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.menu_main,menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();//noinspectionSimplifiableIfStatementif(id==R.id.action_settings){returntrue;}returnsuper.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);

}
}

bingo

与君共勉~

更多相关文章

  1. android 查询工具源代码
  2. Android游戏开发实践指南(华章程序员书库)
  3. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按
  4. android 源代码错误
  5. Android sqlite 数据库在java代码中的增删改查
  6. android代码实现按钮自旋转
  7. Android中MAC地址获取代码

随机推荐

  1. [Android] 开发资料收集:动画
  2. Android(安卓)Eclipse 打包apk
  3. Android(安卓)不同分辨率适配
  4. Android(安卓)开发指南读书笔记(一)—— Ac
  5. Android开发之Android Studio安装教程
  6. Android SDK文档之Drawable Mutations
  7. Android Material Design :LinearLayoutCo
  8. android事件分发机制的实现原理
  9. Gradle build 报错:Received status code
  10. SAP BSP, Java Web Project,Android和微信