Приложение вылетает при открытии глубокой ссылки из приложения - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть требование, где мне нужно запустить глубокую ссылку из приложения.

Это моя глубокая ссылка.

https://n9zv0.app.link/63yWc1w1

Теперь, когда я пытаюсь открыть эту ссылку из приложения, она вылетает со следующим сообщением об ошибке.

Нет активности найдено для обработки Намерение: android .intent.action.VIEW

Код:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://o5kn2.app.link/63yW7yM7C5"));
startActivity(browserIntent);

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

В устройстве нет браузера, чтобы открыть ссылку. Чтобы решить эту проблему:

Предварительно разрешите, если приложение существует:

if (intent.resolveActivity(getPackageManager()) == null) {
    // show no app available to user
} else {
    // start activity
}

Обрабатывайте с исключением:

try{
     // your intent here
} catch (ActivityNotFoundException e) {
     // show message to user 
}

или альтернативно открывайте в веб-просмотре для отображения.

0 голосов
/ 13 апреля 2020

Обязательно обновите Activity для обработки глубоких ссылок, в AndroidManifest вы добавили IntentFilter с действием Viewable.

  <activity
        android:name=".MyActivity">
       <intent-filter>
            <action android:name="android.intent.action.VIEW" />

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

            <data
                android:host="www.abc.com"
                android:scheme="https" />
            <data
                android:host="www.abc.com"
                android:scheme="http" />
        </intent-filter>
   </activity>
...