我目前有一个活动,当它得到显示的通知也将显示在通知栏。
这样,当用户按home键时,活动被推到后台,他们可以通过通知回到活动。
当用户按下后退按钮时,问题就出现了,我的活动被破坏了,但通知仍然存在,因为我希望用户能够按下后退,但仍然能够通过通知获得活动。但是当一个用户尝试这个我得到空指针,因为它试图开始一个新的活动,而不是带回旧的。
所以本质上,我希望后退按钮的作用与Home按钮完全相同,这是我迄今为止所尝试的方法:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
然而,上面的代码似乎仍然允许我的活动被销毁,我如何才能阻止我的活动被销毁时,后退按钮按下?