从通知调用的 activity 返回时如何留在应用程序中?
how to stay in app while pressing back from activity which is called from notification?
当我从通知中调用 activity 时,我会指示此 activity 是从通知中调用的,因此当我的用户按下后退按钮时,我确保将他留在应用程序。
@Override
protected void onDestroy() {
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(ARG_ACTIVITY_ORIGIN) && extras.getInt(ARG_ACTIVITY_ORIGIN) == CONSTS_APP_GENERAL.ACTIVITY_ORIGIN_NOTIFICATION) {
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
}
finish();
}
super.onDestroy();
}
不过,这种方式的过渡并不顺利。 Activity 关闭然后屏幕闪烁并将新的 (MainActivity) 置于最前面。
我确信有更好的方法,也许是标准方法,可以达到相同的结果。您如何确保用户在通过通知进入时停留在您的应用程序上?
通过覆盖 onBackPressed() 而不是调用 super.onBackPressed()
来捕获后退按钮会干净得多
这样,应用程序就不会退出,也不必重新启动。
当我从通知中调用 activity 时,我会指示此 activity 是从通知中调用的,因此当我的用户按下后退按钮时,我确保将他留在应用程序。
@Override
protected void onDestroy() {
Bundle extras = getIntent().getExtras();
if (extras != null) {
if (extras.containsKey(ARG_ACTIVITY_ORIGIN) && extras.getInt(ARG_ACTIVITY_ORIGIN) == CONSTS_APP_GENERAL.ACTIVITY_ORIGIN_NOTIFICATION) {
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
}
finish();
}
super.onDestroy();
}
不过,这种方式的过渡并不顺利。 Activity 关闭然后屏幕闪烁并将新的 (MainActivity) 置于最前面。
我确信有更好的方法,也许是标准方法,可以达到相同的结果。您如何确保用户在通过通知进入时停留在您的应用程序上?
通过覆盖 onBackPressed() 而不是调用 super.onBackPressed()
来捕获后退按钮会干净得多这样,应用程序就不会退出,也不必重新启动。