我已经使用意向过滤器为我的应用程序设置了自定义URL方案。当我的WebView中的URL更改为我的自定义方案(mockup:// pagechange)时,intent筛选器正确地筛选了我的应用程序的意图,启动了我的活动的新实例。然而,我真正想要发生的是意图过滤器在现有活动内部运行一段代码,而不是启动一项新活动。这是可能的,如果是这样,我该如何设置?如果没有,当我的WebView中的URL改变为以'mockup'开始的任何东西时,如何完成运行代码的任务的任何其他想法?在不启动新活动的情况下在URL更改(自定义方案)上运行代码
我试图在意图过滤器中使用其他操作,但我试过(RUN和ATTACH_DATA)导致“网页不可用”页面在URL更改时显示在我的WebView中。此外,我在这里找到的所有意图过滤器/自定义方案问题都涉及如何使用自定义方案开始一个带有网址的新活动 - 这使得很难搜索相反的结果。
谢谢!
的launchMode选项当然似乎像什么,我想做的事情(不启动活动的新实例,而只是调用一个方法 - onNewIntent在()这个案例)。但我在哪里设置标志?我没有明确地创建一个新的活动,我试图将我的WebView上的URL更改的动作捕获到自定义方案 - 从未实际设置代码中的Intent对象。 –
你当然是对的。只需创建一个新的活动,其唯一目的是开始其他活动。因此,在新的活动中,不要显示任何用户界面,只需在处理意图后调用startActivity并将其转发给您的单个顶级活动即可。 – dhaag23