我有一个使用人行横道的应用程序。我在两个活动中使用它。
我遇到的问题是,在第二个活动中,当我按下后退按钮时,它会回到黑屏。如果我再次按下后退按钮,则会关闭活动。
如何关闭活动而不是返回黑屏?这不会发生在所有项目上,只有少数几个,我认为在人行横道上发生页面重定向,所以当我按回它时,它就会转到上一个屏幕。
以下是活动:
package com.gamesmart.gamesmart;
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import org.xwalk.core.XWalkPreferences;
import org.xwalk.core.XWalkView;
public class Play extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
Intent intent = getIntent();
String url = intent.getStringExtra("url");
XWalkView xWalkWebView = (XWalkView)findViewById(R.id.xwalkWebViewPlay);
// Turn on debugging if we are in DEBUG mode
if (BuildConfig.DEBUG) {
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
}
// Load the url
xWalkWebView.load(url, null);
}
@Override
public void onBackPressed(){
finish();
}
}
我不认为我的onBackPressed
正在做它应该做的事情......
答案 0 :(得分:3)
你忘记了
super.onBackPressed();
只需使用以下代码
@Override
public void onBackPressed() {
super.onBackPressed();
}
答案 1 :(得分:1)
试试这个
public void onBackPressed(){
Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
}
答案 2 :(得分:0)
也许您应该尝试拨打super method
中的onBackPressed()
,或者如果您想要返回上一个活动,请将onBackPressed()
中的其他活动带到前面,然后,像这样完成Activity
:
public void onBackPressed() {
Intent main = new Intent(this, YourClass.class);
main.putFlags(Intent.ACTIVITY_BROUGHT_TO_FRONT); // Or something like this, I dont really remember the flag name
startActivity(main);
super.onBackPressed();
}