【发布时间】:2021-12-18 16:16:05
【问题描述】:
以下是我的流程
我有一个 BrowserActivity,它在 WebView 中运行一个 Angular 应用程序。
- BrowserActivity通过js方法
window.location.href = redirectUrl;打开一个外部网页,这个链接在chrome tab里面打开。我也尝试过打开意图链接,结果相同。 - 在 chrome 选项卡中完成了一些工作,它为您提供了返回原始应用的链接。
- 按下该链接后,将启动一个新活动,而不是返回旧活动,这意味着不会调用 onNewIntent。
- 奇怪的是,如果我在新打开的活动中重复相同的过程,它会调用 neNewIntent 而不是打开新活动。
这是我的 BrowserActivity 清单代码
<activity android:name=".activities.BrowserActivity" android:theme="@style/AppTheme" android:screenOrientation="fullUser" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="host.mysite.com" android:scheme="https"/>
<data android:host="host-dev.mysite.net" android:scheme="https"/>
<data android:scheme="mysite-host"/>
<data android:scheme="mysite-callback"/>
</intent-filter>
</activity>
第一次以以下意图启动 BrowserActivity。
注意:我在这里记录了这个方案。该方案为空。
Intent intent = new Intent(context, BrowserActivity.class);
intent.putExtra(URL, url);
intent.putExtra(TITLE, title);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
第一次 BrowserActivity 加载 'mysite-host://host-dev.mysite.net/link1' 并从浏览器返回时提供以下链接 'mysite-callback:/ /host-dev.mysite.net/link1/login/done'.
我的问题是为什么第一次从浏览器返回时没有触发 onNewIntent。
【问题讨论】:
标签: android android-intent webview android-manifest intentfilter