Wie kann ich die Android-App fortsetzen, ohne den Aktivitätsstapel (oder den App-Status) mit Deep-Linking zu verlieren?

Ich habe das<intent-filter> dass jedes Mal, wenn ein bestimmter Link gedrückt wird, meine App geöffnet wird, aber das Problem ist, dass ein @ geöffnet wiNe Instanz meiner App.Ist es trotzdem vorhanden, um onResume () auszulösen und meine App fortzusetzen, ohne ihren Status oder den Aktivitätsstapel zu verlieren?

Dies ist der Absichtsfilter:

        <intent-filter>
            <data android:scheme="http" />
            <data android:scheme="https" />
            <data android:host="example.com" />
            <data android:pathPattern="/.*" />

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
Aktualisiere

Danke an Benutzer David Wasser Antwort unten Ich habe Antwort gefunden:

So habe ich EntryActivity erstellt, das über die Google Mail / Inbox-App gestartet wird:

public class EntryActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.entry_activity);

        Uri uriParams = getIntent().getData();

        Log.e("EntryActivity", uriParams.getHost() );
        Log.e("EntryActivity", uriParams.getQueryParameter("uid") + " " + uriParams.getQueryParameter("type") + " " + uriParams.getQueryParameter("token") );


        Intent startCategory = new Intent(this, GotEmailActivity.class);
        startCategory.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startCategory);
        this.finish();
    }

}

Wenn meine App bei GotEmailActivity geöffnet wird, sende ich dem Benutzer eine E-Mail mit einem Link zum Öffnen der App und GotEmailActivity hat das Attributandroid:launchMode="singleTop" In AndroidManifest wird also nur 1 Instanz davon geöffnet:

    <!-- 
        Important: notice android:launchMode="singleTop"
        which seeks if an instance of this activity is already opened and
        resumes already opened instance, if not it opens new instance.
     -->
    <activity
        android:name=".presenters.register.email.GotEmailActivity"
        android:label="@string/title_activity_got_email"
        android:launchMode="singleTop" 
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >

Nun passiert, dass EntryActivity auf der Google Mail-App geöffnet wird, aber sofort geschlossen wird, aber zuerst GotEmailActivity startet, das bereits geöffnet ist, sodass das Attribut launchMode Singletop eine neue Instanz einer solchen Aktivität verhindert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage