Глубокие ссылки не открывают новое приложение

У меня есть два приложения. С первого я хочу запустить второй путем глубоких ссылок. Это работает, но проблема в том, что второй начинается внутри первого. Я хотел бы начать второй в новом экземпляре.

Код первого приложения для открытия второго приложения:

String uri = "deeplinkTestTom://token/123456";
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
            startActivity(intent);

Манифест второго приложения:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:exported="true" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <data

                android:scheme="deeplinkTestTom" />

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

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

Когда я пытаюсь запустить приложение Facebook из моего первого приложения (String uri = "facebook://facebook.com/inbox";), он запускает Facebook в новом приложении, а не внутри моего первого приложения. Поэтому я предполагаю, что что-то не так в манифесте моего второго приложения, но я не могу найти что.

Что я должен делать?

1 ответ

Решение

Я полагаю, вы говорите о новом Task вместо "нового приложения".

Читать задачи и Back Stack

Вам нужно использовать Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) начать Activity в новом Task,

Для вашего случая используйте

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Другие вопросы по тегам