如何从网页中的 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);
我正在开发一个在线商店应用程序。我想使用浏览器将用户定向到付款页面。当用户支付价格时,服务器将用户定向到另一个网页。在该网页中点击 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);