Глубокие ссылки не открывают новое приложение
У меня есть два приложения. С первого я хочу запустить второй путем глубоких ссылок. Это работает, но проблема в том, что второй начинается внутри первого. Я хотел бы начать второй в новом экземпляре.
Код первого приложения для открытия второго приложения:
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);