Я пытаюсь использовать последнюю функцию обработки по умолчанию для сайта и приложения с глубокими ссылками, представленную в выпуске Marshmallow. Я сделал три шага, как описано здесь (https://developer.android.com/training/app-links/index.html)
Я создал обработчики намерений в своем apk
<data android:scheme="http" android:path="/cat.html" android:host="kino.tryremember.ru"/> </intent-filter> </activity> <activity android:name=".DogActivity" android:exported="true" android:launchMode="singleTop"> <intent-filter android:label="@string/app_name" android:autoVerify="true" tools:ignore="UnusedAttribute"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android:path="/dog.html" android:host="kino.tryremember.ru"/> </intent-filter> </activity>
Я добавил json-файл assetslink на свой тестовый сайт (https://kino.tryremember.ru/.well-known/assetlinks.json)
Как я заметил, мое приложение обрабатывает ссылки на веб-сайты, и когда я нажимаю ссылку на результат поиска в поиске Google в Chrome, например, он дает мне диалоговое окно выбора, но, как описано в документах (ссылка выше), на самом деле будет автоматическое определение обработчика по умолчанию мое приложение будет обработчиком по умолчанию, потому что я выполнил все условия.
Но при установке я мог видеть в logcat что-то подобное
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier:Verification result: checking for a statement with source a <
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: a: "https://kino.tryremember.ru"
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: >
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: , relation delegate_permission/common.handle_all_urls, and target b <
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: a: "com.busylee.appindexingexample"
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: b <
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: a: "A7:93:BA:D8:DD:ED:F4:40:08:7B:C7:43:49:60:C3:4F:31:34:54:2F:58:AC:BE:D9:16:CB:C5:B9:2B:A3:B9:CA"
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: >
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: >
08-10 17:39:24.821 4755 19896 I SingleHostAsyncVerifier: --> false.
08-10 17:39:24.821 4755 19896 D SingleHostAsyncVerifier: Remaining verification failures before we've exhausted all certs: 0
08-10 17:39:24.821 4755 19896 D StatementServiceResFut: setResult on host: a <
08-10 17:39:24.821 4755 19896 D StatementServiceResFut: a: "https://kino.tryremember.ru"
08-10 17:39:24.821 4755 19896 D StatementServiceResFut: >
08-10 17:39:24.821 4755 19896 D StatementServiceResFut: : false
08-10 17:39:24.821 4755 19895 I IntentFilterIntentSvc: Verification 3 complete. Success:false. Failed hosts:kino.tryremember.ru.
Я не могу понять, что случилось. Есть ли у кого-нибудь идеи о том, что я пропустил или делаю неправильно?