как правильно ассоциировать android приложение с определенным url адресом если с этим адресом ассоциируется другое приложение

У меня есть определенная url ссылка, по нажатию на которую должно открываться мое приложение. В манифесте я создал intent-filter, который задает правило для этой ссылки

<activity
        android:name="MyActivity"
        android:screenOrientation="portrait"
        android:theme="@style/Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    
        <intent-filter
            android:autoVerify="true"
            tools:targetApi="m">
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.VIEW" />

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

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

Если на устройстве из всех приложений этот url адрес может открывать только мое и браузер, то все работает как и задумано, ссылка открывается в моем приложении. А если помимо браузера и моего приложения эту ссылку может открыть еще одно приложение - AnotherApp, то ссылка открывается в AnotherApp. Почитав документацию я нашел команду для android SDK command line tools adb shell dumpsys package d. С помощью нее можно посмотреть политику ссылок приложений. В моем приложении следующая политика :

  Package: com..text.myapp
  Domains: www.my-url.com
  Status:  ask

Скрин настроек моего приложения:

На этом изображении открыты настройки моего приложения сразу после установки. В параметре "Переход к URL" установлено значение "Всегда спрашивать"

А в приложении AnotherApp следующая политика:

   Package: com.anotherapp.anotherapp
   Domains: www.my-url.com
   Status:  always : 200000000

И скрин настроек этого приложения: На этом изображении открыты настройки стороннего приложения сразу после установки. В параметре "Переход к URL" установлено значение "В этом приложении"

Что нужно сделать, что бы политика моего приложения была такой же как и политика AnotherApp и по нажатию на ссылку поднимался Chooser с выбором приложения для открытия этой ссылки?


Ответы (0 шт):