Java ANDROID onBackPressed不适用于该活动
我为我的活动实现了onBackPressed,它将检查互联网连接,但当我在平板电脑中单击后退按钮时,它什么也不做。我不明白是什么原因造成的。你能帮忙吗 下面是我的代码Java ANDROID onBackPressed不适用于该活动,java,android,activity-lifecycle,Java,Android,Activity Lifecycle,我为我的活动实现了onBackPressed,它将检查互联网连接,但当我在平板电脑中单击后退按钮时,它什么也不做。我不明白是什么原因造成的。你能帮忙吗 下面是我的代码 if (!cd.isConnectingToInternet()) { AlertDialog.Builder splash = new AlertDialog.Builder(this); splash.setIcon(R.drawable.ic_fail) .se
if (!cd.isConnectingToInternet()) {
AlertDialog.Builder splash = new AlertDialog.Builder(this);
splash.setIcon(R.drawable.ic_fail)
.setTitle("No Internet Connection")
.setMessage(
"Please check your internet connection and try again.")
.setCancelable(false)
.setPositiveButton("Try again",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
Intent splash = new Intent(
getApplicationContext(),
SplashActivity.class);
startActivity(splash);
finish();
}
})
.setNegativeButton("Wifi Setting",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
startActivity(new Intent(
android.provider.Settings.ACTION_WIFI_SETTINGS));
dialog.cancel();
}
});
AlertDialog alert = splash.create();
alert.show();
} else {
Thread timer = new Thread() {
public void run() {
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Intent login = new Intent(getApplicationContext(),
LoginActivity.class);
startActivity(login);
finish();
}
}
};
timer.start();
}
}
public void onRestart() {
super.onRestart();
Intent splash = new Intent(getApplicationContext(),
SplashActivity.class);
startActivity(splash);
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
-
finish()
是关闭活动的正确方法
-但是如果由于某种原因,它仍然没有使用系统。在finish()之后退出(0)
。。这个肯定会起作用。。。。我知道它很粗糙…但是很有效
/////////////////Edited Part/////////////strong>
-覆盖活动的方法onKeyDown()
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
this.finish();
}
return true;
}
-finish()
是关闭活动的正确方法
-但是如果由于某种原因,它仍然没有使用系统。在finish()之后退出(0)
。。这个肯定会起作用。。。。我知道它很粗糙…但是很有效
/////////////////Edited Part/////////////strong>
-覆盖活动的方法onKeyDown()
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
this.finish();
}
return true;
}
评论,然后检查
//super.onBackPressed();
评论,然后检查
//super.onBackPressed();
试试这个:
@Override
public void onBackPressed() {
yourclassname.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
getParent().finish();
}
试试这个:
@Override
public void onBackPressed() {
yourclassname.this.finish();
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
getParent().finish();
}
试试这个。我想这对你有用
@Override
public void onBackPressed() {
//super.onBackPressed();
// finish your Activity
ActivityName.this.finish();
return;
}
试试这个。我想这对你有用
@Override
public void onBackPressed() {
//super.onBackPressed();
// finish your Activity
ActivityName.this.finish();
return;
}
试试这个代码
@Override
public void onBackPressed()
{
moveTaskToBack(true);
}
试试这个代码
@Override
public void onBackPressed()
{
moveTaskToBack(true);
}
你想关闭反压应用程序还是检查互联网…关闭应用程序@KumarVivekMitraDo你想关闭反压应用程序还是检查互联网…关闭应用程序@KumarVivekMitrais这是使用system.ext(0)的正确方式吗?@SarahPhil我在第二点中已经提到了system.exit(0)
将是一种粗糙的方法………但到目前为止,它一直对我很好………这是使用system.ext(0)的正确方法吗?@SarahPhil我已经在第二点中提到了system.exit(0)
这将是一种粗糙的方法…………但到目前为止,它对我一直都很好…………一些文本将有助于这个答案一些文本将有助于这个答案