Приложение Alibaba android вызывает сбои при попытке открыть URL-адрес

Когда вы пытаетесь открыть ссылку, из примера из whatsapp, приложение (в данном случае whatsapp) сработает. Это происходит только в том случае, если на вашем устройстве установлено приложение alibaba. Путь к воспроизведению:

  • установить приложение alibaba (https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon&hl=en)
  • попытайтесь открыть url
  • сбой приложений (или он не может найти другие действия, чтобы открыть ссылку, даже не браузер Chrome.)

    Сбой, который мы видим в нашем приложении:

    Fatal Exception: java.lang.SecurityException: отказ от разрешения: начало Intent {act = android.intent.action.VIEW dat = http://www.nu.nl cmp = com. alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity VirtualScreenParam = Params {mDisplayId = -1, null, mFlags = 0x00000000)}} из ProcessRecord {7307f55 18243:.../u0a226} (pid = 18243, uid = 10226) не экспортируется из uid 10207

Ответ 1

Из того, что я делаю, это ошибка, соответствующая приложению alibaba. Во-первых, это связано с функцией глубокой привязки, которая позволяет приложениям открывать для них URI. Например: приложение quora или приложение reddit. Это откроет внутри Quora вместо Chrome, чтобы улучшить опыт.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.BROWSABLE"/>
  <category android:name="android.intent.category.DEFAULT" />
  <data
     android:host="reddit.com"
     android:pathPrefix="/r"
     android:scheme="https" />
</intent-filter>

Что-то вроде этого. Я подозреваю, что приложение alibaba направило бы всех хостов к своему приложению. Они бы щедро использовали подстановочные знаки, которые заставили бы их приложение открываться буквально с любого URL-адреса. Также авария связана с отказом в разрешении. Это происходит, когда вы пытаетесь открыть неэкспортированную активность из контекста вне приложения.

PS: Короче говоря, это исключительно проблема с приложением Alibaba B2B. Это можно исправить только с их стороны. Попробуйте очистить настройки по умолчанию и маршрутизировать все URL-адреса обратно в хром, так как андроид предлагает вам выбрать приложение по умолчанию для любого uri.