MainAcitivity не входит в метод onNewIntent и снова вызывает onCreate, даже если это SingleTask - PullRequest
0 голосов
/ 03 мая 2020

для предотвращения перезагрузки приложения после нажатия на ссылку. Я сделал режим ланча для одиночной задачи spla sh Activity и обработал все новые намерения в методе onnewintent

   <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>

, а также сделал maniActivity для signleTask, чтобы предотвратить перезагрузку каждый раз, когда пользователь открывает deeplink. spla sh вызывает onNewIntent плавно, но основная активность воссоздается каждый раз, как сделать вызов MainActivity onNewIntent вместо вызова onCreate. Я пытался добавить флаги FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP в намерение MainActivity, но он не работает

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

1 Ответ

0 голосов
/ 05 мая 2020

Вам необходимо использовать setIntent, а затем продолжить выполнение в onResume.

Глядя на эту ссылку Я бы сказал, что startActivity может быть проблемой.

...