如何从网页中的 link return 返回浏览器启动的暂停 Activity?

How to return back to paused Activity which is launched the browser, from a link in webpage?

我正在开发一个在线商店应用程序。我想使用浏览器将用户定向到付款页面。当用户支付价格时,服务器将用户定向到另一个网页。在该网页中点击 link 和 return 应用程序也从 link.

获得付款结果

当用户想要付款时,我使用 intent 将用户引导至 Web 浏览器,如下所示:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("payment-link"));
startActivity(intent);

然后我使用 "<a href="">" 标记到 return 到 activity 像这样启动浏览器:

在html中:

<a href="intent:#Intent;action=my-package-name;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;S.status=ok;end">Go back to App</a>

在清单中:

<activity android:name=".activities.TestActivity">
    <intent-filter>
        <action android:name="my-package-name" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

但结果不是我想要的。我想恢复 activity 而不是在浏览器堆栈之上创建一个。我也使用了 android:launchMode="singleInstance" 但 onBackPressed 直接指向 activity 我知道这是预期的。

我想要这个:

有什么方法可以恢复 activity 或任何其他实施此方案的建议吗?谢谢

我解决了。浏览器应使用 Intent.FLAG_ACTIVITY_NO_HISTORY 启动,"MyActivity" 应为 singleTask。

在清单中:

<activity
    android:name=".activities.OrderDetailsActivity"
    android:screenOrientation="portrait"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="ir.bornait.isan" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

用于启动浏览器:

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("payment-link"));
    intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);