我在我的应用程序的活动中使用以下代码,以防止它关闭我的应用程序.
/* Prevent app from being killed on back */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Back?
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Back
moveTaskToBack(true);
}
// Return
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
这是行不通的.该应用程序设置为Android 1.6(API Level 4)兼容.单击我的应用程序图标会在Splash活动(主要是)上重新启动我的应用程序.如何阻止我的应用程序关闭?
Neb*_*ebu 11
更简洁的解决方案: -
@Override
public void onBackPressed() {
// do nothing. We want to force user to stay in this activity and not drop out.
}
Run Code Online (Sandbox Code Playgroud)
jon*_*ohn 10
您是否尝试将super呼叫置于else块中,以便仅在密钥不被调用时才调用它KEYCODE_BACK?
/* Prevent app from being killed on back */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Back?
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Back
moveTaskToBack(true);
return true;
}
else {
// Return
return super.onKeyDown(keyCode, event);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,诚实地说,你不能依赖于此,因为一旦你的应用程序被放置在后台,它可以在任何时候被回收用于系统回收内存.
| 归档时间: |
|
| 查看次数: |
9936 次 |
| 最近记录: |