代码之家  ›  专栏  ›  技术社区  ›  N Sharma

如何打开用户在Android中的活动

  •  -2
  • N Sharma  · 技术社区  · 7 年前

    您好,我正在尝试像在android中那样做,例如,如果我的用户在活动d上,并且会话已过期,那么我将发送到活动a。

    当我从活动A成功登录到那里时,我希望将用户发送到活动D,而不是活动B或C

    怎么做?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nikos Hidalgo farhad mohammadi    7 年前

    在ondestroy上(或在onresume中,具体取决于清单配置),将每个活动的名称存储到共享首选项中。因此,当用户在那里超时最后一个活动时,是用户在被踢出之前要交互的最后一个活动。当用户通过从共享首选项还原其名称重新登录时,将使用此选项。

    保存最后一个活动的名称:

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString("ActivityName", yourActivityName);
            editor.apply();
    

    还原主目录中的最后一个活动:

    String activityToResume = sharedPreferences.getString("ActivityName", "DefaultActivity");
                try {
                    Class<?> c = Class.forName(activityToResume);
                    Intent intent = new Intent(this, c);
                    startActivity(intent);
                } catch (ClassNotFoundException ignored) {
                }