我已经浏览了这个网站,谷歌和另一个Android论坛的答案,但我找不到一个有用的。
我正在尝试在我的Android WebView应用中包含BACK键,因为否则BACK键只会退出活动。
我是Android的新手,所以我不知道所有的编程都是如此。 有人能指出我正确的方向吗?
谢谢!
答案 0 :(得分:4)
截取Activity
中的BACK按钮,如下所示......
public class MyWebActivity extends Activity {
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Other code here
webview = new WebView(this);
}
// Other methods here
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
的第9部分进行了解释
答案 1 :(得分:1)
在您的活动中覆盖onbackpressed。
@Override
public void onBackPressed() {
}
如果你不想在背面按下关闭你的活动,那么你可以简单地删除super.onBackPressed(),这将不允许完成你的活动,你的活动将在没有关闭的情况下在背景上正常工作。
答案 2 :(得分:0)
例如,即时通过Android在我的WebView中捕获URL;
在你的方法shouldOverrideUrlLoading:
中public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
webView.getUrl();
if( url.equals("http://any.com/url") ){
//Do any action
Toast tr =Toast.makeText(WebViewTest.this, "Test Passed", Toast.LENGTH_LONG);
tr.show();
//Go to other activity or you can put finish(); to stop the actual activity
//Do other action
Intent i1 = new Intent("com.mypack.courses.Passed");
startActivity(i1);;
return true;
}
if( url.equals("http://any.com/url") ){
Toast tr =Toast.makeText(WebViewTest.this, "Test Failed", Toast.LENGTH_LONG);
tr.show();
Intent i2 = new Intent("com.mypack.courses.Failed");
startActivity(i2);
return true;
}
return true;
}
在这种情况下,如果用户通过Webview点击“”http://any.com/url“,我们会采取任何行动,只需提出您的条件或方法,以及您希望在那里做的任何地方,希望这给你提出了想法......