Как открыть приложение по ссылке
Который затем открывает диалоговое окно, которое спрашивает пользователя, хотят ли они открыть эту ссылку из моего приложения или браузера следующим образом:
Но я просто хочу, чтобы, когда пользователь щелкает ссылку, он открывает ТОЛЬКО мое приложение, ничего не спрашивая. Или, в худшем случае, просто попросить открыть его с моим приложением, а это Appetit, а не с браузером. Это возможно?
Таким образом, кажется, что это возможно сделать со ссылками на приложения, но только для API уровня 23 (Android 6.0), но мне нужно это для API уровня 15 (Android 4.0), есть идеи?
ОТВЕТЫ
Ответ 1
Обход диалога устранения неоднозначности возможен только с помощью API Android 6.0 для привязки приложений.
Android 6.0 (уровень API 23) и выше позволяют приложению назначать себя обработчиком по умолчанию для данного типа ссылок. Если пользователь не хочет, чтобы приложение было обработчиком по умолчанию, он может переопределить это поведение в настройках.
Автоматическая обработка ссылок требует сотрудничества разработчиков приложений и владельцев сайтов. Разработчик должен настроить свое приложение так, чтобы оно объявляло ассоциации с одним или несколькими веб-сайтами и запрашивало у системы проверку этих связей. Владелец веб-сайта, в свою очередь, должен предоставить эту проверку путем публикации файла ссылок на цифровые активы.
Это включает в себя создание соответствующего обработчика намерений и включение автоматической проверки путем добавления android:autoVerify="true" :
Затем необходимо выполнить обновления на стороне веб-сайта, объявив об ассоциации веб-сайта, что гарантирует, что владелец веб-сайта и разработчик приложения будут координировать свои действия, чтобы приложение автоматически становилось по умолчанию для схемы URL-адресов.
Ответ 2
Вот несколько мест, которые вы можете использовать, чтобы убедиться, что .well-known/assetlinks.json доступен, что является важной предпосылкой для удаления диалога устранения неоднозначности.
Проблема была в том, что firebase_web_host был похоронен где-то за пределами моего кода, поэтому было не совсем понятно, почему android:autoVerify не android:autoVerify . Один простой способ узнать это - проверить adb log при установке приложения; вы должны увидеть что-то вроде
Если вы видите Success:false , он должен показывать, какие хосты вышли из строя, так что это должно дать вам подсказку, где искать.
Ответ 3
все, что вы сделали, это правильно, просто измените https и http другим словом wirte 'app' пример данных android: схема = "приложение" android: host = "com" android: pathPrefix = "/easy"
Ответ 4
в вашем AndroidManife.xml положить
после этого при нажатии на любой URL со схемой "myAPP" ваше приложение будет открываться. Нет пользовательских запросов.
Ответ 5
Для тех, кто все еще ищет это:
Воспользуйтесь помощником по ссылкам на приложения в Android Studio введите описание ссылки здесь
Ответ 6
Итак, вот один из способов сделать это, но по моему опыту я не уверен на 100%, что он всегда работает: поскольку, если какое-либо другое приложение также использует тот же механизм настройки приоритета, то это может быть показано в списке предлагаемых приложений для ОС Android.
когда вы объявляете фильтр намерения отвечать на события, вы также можете установить приоритет как-то вроде
приоритет предоставляет информацию о том, насколько способна деятельность реагировать на намерение, которое соответствует фильтру, относительно других действий, которые также могут реагировать на намерение. Когда намерение может быть обработано несколькими действиями с разными приоритетами.
обратите внимание, что Android будет рассматривать только те, у которых более высокие значения приоритета, в качестве потенциальных целей для намерения.
так что должно быть значением приоритета? Значение должно быть целым числом, например "100". Более высокие номера имеют более высокий приоритет. Значение по умолчанию равно 0. Значение должно быть больше -1000 и менее 1000.
-1000 - это SYSTEM_LOW_PRIORITY , а 1000 - SYSTEM_HIGH_PRIORITY
Вот некоторые из ссылок на документацию по android, которые могут помочь вам узнать больше -
надеюсь, что это поможет! все лучшее
update обратите внимание, что, что бы вы ни делали, в первый раз вам нужно пройти шаг, на который пользователь выбирает, чтобы открыть приложение
Ответ 7
Добавление флага Intent.FLAG_ACTIVITY_NEW_TASK наверняка поможет:
Ответ 8
В андроиде вы не можете заставить ссылку открываться из определенного приложения без подтверждения пользователя.
Как только пользователь нажмет "Всегда" со следующего раза, ваше приложение будет открыто
Читайте также: