【问题标题】:How to send info to mainActivity back from Activity 2 without killing Activity 2如何在不杀死 Activity 2 的情况下从 Activity 2 将信息发送回 mainActivity
【发布时间】:2017-11-12 15:41:30
【问题描述】:

我有第二个用户可以自定义的活动,因此当用户返回主要活动时我无法销毁它(如果用户返回第二个活动,信息需要在那里)。此外,当用户返回主要活动时,我需要发回一些信息(截至目前,一个字符串),但这不起作用。我的代码:

主要活动

    public void goToSecondPage(){
          Intent intent = new Intent();
          intent.setClass(this,secondActivity.class);
          startActivity(intent);
    }
    protected void onRestart(){
          super.onRestart();
          Bundle extras = getIntent().getExtras();

          if (extras != null){
                String result = extras.getString("CONFIG");
    }

第二次活动

    public void goBackToMainPage(){
          Intent resultIntent = new Intent();
          resultIntent.setClass(this,MainActivity.class);
          resultIntent.putExtra("CONFIG","Test String");
          resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
          startActivity(resultIntent);

    }

我知道onActivityResult 方法,但似乎我需要销毁第二个活动才能使用它。我如何才能拥有无法销毁的第二个活动,并且可以在必要时将信息发送回主活动?

【问题讨论】:

  • 如果您不想完成第二个活动并且只想与前一个活动共享数据,那么您可以使用 LocalBroadcastManager 发送数据

标签: java android android-studio android-activity


【解决方案1】:

您不应该在活动中保留数据。您只能进行一项活动,无论您做什么,系统都可以杀死其他所有活动。您应该将数据存储在另一个地方 - SharedPrefferenceSQLite DatabaseSingleton

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多