当前位置: 首页 > 知识库问答 >
问题:

MainAcitivity不进入onNewIntent方法并再次调用onCreate,即使它是SingleTask

仇浩旷
2023-03-14

以防止应用程序在点击DeepLink后重新加载。我已经将splash活动的午餐模式设置为singleTask,并在onnewintent方法中处理任何新的intent

   <activity
        android:name=".activities.SplashActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.Splash">

    </activity>
    <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
       >
    </activity>

另外,我做了一个疯狂的signleTask来防止用户每次打开DeepLink时重新加载。splash调用onNewIntent很顺利,但是每次mainactivity都会重新创建。如何使mainactivity调用onNewIntent而不是调用onCreate我尝试向mainactivity intent添加flagsflag_activity_clear_topflag_activity_single_top,但不起作用

//splashActivty
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Intent launchIntent = new Intent(this, MainActivity.class);
    startActivity(launchIntent);
}

共有1个答案

林涵映
2023-03-14

您需要使用setintent,然后在onresume中继续执行。

 类似资料:
  • 问题内容: 我正在尝试制作我的第一个Android应用程序。我注意到,如果数据库不存在,则不会调用该方法来创建表。但是,即使我尝试调试,该方法也无法正常工作。 请查看下面的代码,并给我任何建议。任何帮助将不胜感激。 问题答案: 我也遇到了 SQLiteOpenHelper的 麻烦。对我有用的是存储成员变量 在SQLiteOpenHelper子类中并调用 在构造函数中。 该问题的答案还包括一些有用的

  • 这是我的控制器: 这是我访问http://localhost:8080/area/1时得到的: 无法转换“java”类型的值。lang.String'转换为必需的类型'int';嵌套的例外是java。lang.NumberFormatException:对于输入字符串:“asd3333”] 我测试了这个随机返回,只是为了显示发生了什么...该方法首先用请求中的@PathVariable=1调用,然

  • 请看下面我的剧本。我在一个剧本中调用不同主机上的两个执行。 第一次执行将更改vars文件中的一些变量,这些变量将在下一次执行中使用(创建新的备份文件夹并将其名称更新为另一个vars文件)

  • 本文向大家介绍onNewIntent()调用时机?相关面试题,主要包含被问及onNewIntent()调用时机?时的应答技巧和注意事项,需要的朋友参考一下 singleTop:如果新Activity已经位于任务栈的栈顶,就不会重新创建,并回调 onNewIntent(intent) 方法。 singleTask:只要该Activity在一个任务栈中存在,都不会重新创建,并回调 onNewInten

  • 我尝试在每次创建活动时运行以下线程。它第一次工作,但如果我按下后退按钮并尝试再次导航到活动,它总是崩溃第二次。我怎样才能确保这个线程每次都运行成功呢?

  • 问题内容: 我正在尝试使用在Android手机上创建本地数据库。 我有一个帮助器类,如下所示,该类用于创建数据库并提供“帮助”。 我想在我的代码的主要部分中创建此类的对象,并在其中创建数据库和表。 问题: 每当我创建该类的对象时,它似乎都不会在助手中调用该方法。我以为这应该发生。我认为这基本上是该类的构造函数。(我相信我错了) 那么,为什么不调用该方法呢? 或者如何在创建类对象的地方创建数据库和表