从我的Android应用程序启动另一个应用程序会导致问题 我有一个Android应用程序(我们称之为“主应用程序”),它将启动另一个应用程序(我们把它称为“辅助应用程序”),这取决于用户的动作。 用户A登录到我的主应用程序 我的主应用程序启动助手应用程序,其中包含特定于用户A的详细信息(在意图中作为附加项发送) 用户A最小化助手应用程序 用户A从我的主应用程序注销 用户B登录到我的主应用程序 我的主应用程序尝试使用特定于用户B的详细信息启动助手应用程序(在意图中作为附加程序发送)。但它不是新创建的助手应用程序。它只是将以前的助手应用程序与旧用户A的详细信息一起带到前台

从我的Android应用程序启动另一个应用程序会导致问题 我有一个Android应用程序(我们称之为“主应用程序”),它将启动另一个应用程序(我们把它称为“辅助应用程序”),这取决于用户的动作。 用户A登录到我的主应用程序 我的主应用程序启动助手应用程序,其中包含特定于用户A的详细信息(在意图中作为附加项发送) 用户A最小化助手应用程序 用户A从我的主应用程序注销 用户B登录到我的主应用程序 我的主应用程序尝试使用特定于用户B的详细信息启动助手应用程序(在意图中作为附加程序发送)。但它不是新创建的助手应用程序。它只是将以前的助手应用程序与旧用户A的详细信息一起带到前台,android,android-intent,Android,Android Intent,我试图在onNewIntent()中捕获新的意图,但它从未被触发(在清单中将活动声明为singleTop) 我的问题是如何以新的意图每次启动Helper应用程序。非常感谢您的帮助。您需要从Helper应用程序中重写onPause()方法 像这样: protected void onPause() { super.onPause(); // Toast.makeText(getApplicationContext(), "Paused", To

我试图在onNewIntent()中捕获新的意图,但它从未被触发(在清单中将活动声明为singleTop)


我的问题是如何以新的意图每次启动Helper应用程序。非常感谢您的帮助。

您需要从Helper应用程序中重写onPause()方法

像这样:

    protected void onPause() {
            super.onPause();
           // Toast.makeText(getApplicationContext(), "Paused", Toast.LENGTH_LONG).show();
          finish();
    }
因此,每当助手应用程序进入后台时,它都将由这段代码完成

并且每次您都将获得具有新意图的Helper应用程序

希望对你有帮助


谢谢。

您可以使用SharedReference解决当前问题,如下所示:

当用户B登录到我的主应用程序时,创建一个:

每次应用程序恢复时,在Helper应用程序中读取
SharedReferences
中的所有最新详细信息,并根据用户的最新详细信息更新UI

@Override
public void onResume()
{
   SharedPreferences mainPrefs =
         this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE);
   String struserdetailone = mainPrefs.getString("user_detailone", "nothing");
   //......

  //update your Helper application UI here according user details
    super.onResume();
}

您的助手应用程序中可能存在错误,请检查它是否根据新的意图进行操作。如果它不是你的助手应用,那对你来说是悲伤的一天。如果我让它成为无历史,然后,当我的助手应用程序进入后台时,它就完成了,并且无法从最近的应用程序列表中启动它。@androidGuy:那么现在有什么问题吗?如果您再次启动助手应用程序,那么它将以最新版本启动Intent@androidGuy当前位置我解决了您的问题您可以使用SharedReference进行尝试问题是我我不想在应用程序进入后台时完成它。我想你也可以在你的
Helper应用程序中使用
SharedReferences
,通过它,你可以使用
Intent
存储传入的
extras
中的用户详细信息,你可以使用新传递的用户详细信息进行检查,并据此呈现视图详细信息。
@Override
public void onResume()
{
   SharedPreferences mainPrefs =
         this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE);
   String struserdetailone = mainPrefs.getString("user_detailone", "nothing");
   //......

  //update your Helper application UI here according user details
    super.onResume();
}