问题标签 [onnewintent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
188 浏览

android - Android:handleDeeplink() 后导航 Deeplink 未失效

我已经使用Jetpack Navigation在我的应用程序中实现了深度链接。我的应用遵循单活动架构。片段之间的导航由导航图组织。

我发现了一个案例,其中和回调 都被调用了。但这不应该发生。让我解释一下用例:onCreateonNewIntent

  1. 用户从应用程序重定向到浏览器。
  2. 当用户在浏览器中时,应用程序已关闭(由操作系统或用户)
  3. 用户通过深层链接被重定向回应用程序。

上面用例的 Logcat 看起来是这样的(按正确的顺序):

  • 2021-05-13 09:01:53.261 onPause MainActivity@336e6f1 //重定向到浏览器
  • 2021-05-13 09:02:21.584 onDestroy MainActivity@336e6f1 //应用被用户或操作系统关闭
  • 2021-05-13 09:02:24.804 onCreate MainActivity@4a820dd //重定向回应用程序
  • 2021-05-13 09:02:24.940 onNewIntent MainActivity@4a820dd
  • 2021-05-13 09:02:24.979 onCreate MainActivity@349ea37
  • 2021-05-13 09:02:25.102 onResume MainActivity@349ea37
  • 2021-05-13 09:02:25.495 onDestroy MainActivity@4a820dd

所以应用程序MainActivity一次创建两个实例,onCreateonNewIntent在同一个实例中触发回调。

当用户在浏览器中时应用程序 关闭时,logcat 看起来是这样的:

  • 2021-05-13 08:57:47.097 onPause MainActivity@7507cde
  • 2021-05-13 08:58:18.310 onNewIntent MainActivity@7507cde
  • 2021-05-13 08:58:18.312 onResume MainActivity@7507cde

启动模式都singleTask没有singleInstance改变任何东西。

我的问题是:

  1. 怎么可能同时调用onCreate和回调?onNewIntent
  2. 为什么MainActivity一次创建了两个实例?
  3. 当用户从应用程序导航回来,然后通过最近的应用程序打开应用程序时,将触发与上述 logcat 中相同的日志。为什么会这样?

我会非常感谢任何回答我问题的人。在这里我添加我的代码:

显现:

导航图:

主要活动:

向浏览器调用意图:

0 投票
0 回答
30 浏览

android - 应用程序很好,有一个新的意图,但是当我再次点击相同的链接时。获取错误:未找到处理 Intent { act=android.intent.action.VIEW 的 Activity

我使用 Intent 从网站向 Progressive Web App 发送消息。只是为了在本机代码中显示 admob 广告。我发现的最佳解决方案是将代码添加到

简单而有效,但只有一次。据我了解,当我使用 onNewIntent 时,它是替换 onCreate 而不是在哪里注册活动android:launchMode="singleInstance"

当我多次使用这个意图时,我得到了这个错误:

0 投票
1 回答
38 浏览

android-activity - Xamarin.Android:在已运行的应用实例中接收查看和发送操作(LaunchMode 为 SingleTop)

我希望我的应用程序成为 PDF 的查看器并发送目标,但不希望它每次都创建新实例。如何在我的 ? 中捕获视图意图操作MainActivity?我试过OnNewIntent()但它没有被调用。只有当应用程序尚未运行时,我才会在OnCreate(). 我错过了什么?