接收申请时的处理意图在后台

时间:2016-06-15 11:09:42

标签: android android-fragments android-intent

有2个应用程序:第一个应用程序可以使用以下方式打开第二个应用程序:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.my.path");
startActivity(intent);

这很好。

第二个应用可以通过使用带有操作的意图再次调用第一个应用。例如:

public void call(String number)
{
    Intent myIntent = new Intent(Intent.ACTION_CALL);
    myIntent.setData(Uri.parse("tel:" + number);
    startActivity(myIntent);
}

还有一个我很快就会遇到的问题。 我在onCreate方法中处理第一个应用中收到的意图。第一个应用程序只是一个具有许多片段的活动,这些片段通过片段事务进行切换。当我从第二个应用程序收到意图时,我会根据意图对特定片段进行交易。

问题是,当第一个应用程序不在后台(意味着它关闭)时,我对intent的处理工作正常。但是,如果用户从第一个应用程序打开第二个应用程序并且第一个应用程序仍然在后台,那么当用户在第二个应用程序中调用intent时,第一个应用程序将返回到前台但是返回到相同的片段用户是在他推出第二个应用程序的时候,而我期望在第二个应用程序发送的意图中显示基于用户请求的新片段。

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以通过覆盖处理意图的OnNewIntent方法并将所需的片段置于顶部来处理此问题。