Откройте приложение Android из URL-адреса, не используя рабочий фильтр

У меня есть приложение для Android, которое люди используют в качестве замены для веб-сайта. Следовательно, когда пользователи сталкиваются с URL-адресом на веб-сайте, я хочу дать им возможность «открыть URL-адрес» в моем приложении, а не в браузере. Другими словами, я хочу, чтобы появилось всплывающее окно, которое позволяет им выбирать между моим приложением и браузером (и, возможно, другими приложениями).

Я понимаю из разных источников, что мне нужно добавить фильтр намерений к активности в моем приложении с фильтром «данных», который фильтрует URL-адреса правильной формы.

Этот веб-сайт является http://members.iracing.com , поэтому я добавил следующий фильтр намерений:

            

Я пробовал различные формы этих фильтров данных, например, используя один «узел данных» с обоими атрибутами:

       

Он просто не работает. Я не знаю, что еще тебе сказать. Я размещал простую HTML-страницу на своем веб-сайте с двумя ссылками на разные страницы этого веб-сайта (все начиная с «http: //members.iracing.com / …»), и когда я нажимаю на любую из них, они просто открывают в браузере, даже не спрашивая, какое приложение я хочу использовать. Я попробовал это как на эмуляторе, так и после установки приложения на моем физическом устройстве, ничего не работает. Я попробовал это в совершенно BLANK, новом Android-проекте, чтобы убедиться, что это сработает, ничего.

Затем я понял, что веб-сайт требует аутентификации, и если вы не вошли в него, он перенаправляется на страницу входа в https://members.iracing.com/membersite/login.jsp , поэтому я попытался заменить схему на «https». Я даже попытался изменить хост на «www.members.iracing.com», и в конце концов я даже попробовал комбинацию из всех этих вещей (не уверен, что это сработает, но эй, я в отчаянии на этом этапе. …)

          

Все еще нет. Я не уверен, что redirect имеет отношение, хотя браузер явно сначала переходит на сайт без перенаправления, а затем перенаправляется на страницу входа в систему, но ни в коем случае я не могу выбрать его, чтобы открыть его в своем приложении. Кроме того, если я сначала зарегистрирую браузер в браузере, перенаправления не будет, и он все равно не работает.

Я пропустил что-то очевидное здесь? Я вытаскиваю свои волосы, почему это не работает, и я не могу отлаживать его, не пытаясь использовать все возможные комбинации, о которых я мог думать (я сделал …). Спасибо за любую помощь!

используйте эти три в своем

    

Я думал, что опубликую это здесь, так как я потратил некоторое время на то, чтобы понять, почему мой фильтр намерений не работает. Оказывается, он работал все время, но спички точны. Таким образом, если вы зарегистрируете свое намерение для http://myexample.com, и вы щелкните по адресу http://myexample.com/blah, это не сработает.

Добавив следующие исправления:

  

Таким образом, фильтр намерений выглядит так:

         

@nurieta, ваш ответ сделал трюк за меня спасибо!

Одно слово совета, так как я имею дело с потенциальными строками запроса, я обработал его через немного кода в .java, чтобы определить, просто ли открыть приложение или отправить вас в определенное место в приложении. Мое приложение – это просто WebView, в котором работает мобильное приложение JQuery.

  if(getIntent().getData()!=null){//check if intent is not null Uri data = getIntent().getData();//set a variable for the Intent String scheme = data.getScheme();//get the scheme (http,https) String fullPath = data.getEncodedSchemeSpecificPart();//get the full path -scheme - fragments combine = scheme+"://"+fullPath; //combine to get a full URI } String url = null;//declare variable to hold final URL if(combine!=null){//if combine variable is not empty then navigate to that full path url = combine; } else{//else open main page url = "http://www.example.com"; } webView.load(url); 
  • Ошибка. Исправьте конфликт версии либо путем обновления версии плагина google-services
  • FirebaseInstanceIdService устарел
  • Чтение файла sqlite из папки с данными
  • Добавление кнопки OnClick в сообщение в уведомлении
  • Android listview с кнопками верхнего и нижнего колонтитула
  • Android, как определить элемент в списке с помощью флажка
  • Ссылка WebView нажмите открыть браузер по умолчанию
  • Позвоните в getLayoutInflater () в местах, где нет активности
  • Ошибка манифеста слияния с несколькими ошибками в Android Studio
  • Воспроизведение аудио с низкой задержкой на Android
  • Чтение и запись массивов объектов Parcelable
  • Interesting Posts

    Как Блок захватывает переменные за пределами своей охватывающей области?

    Как ссылаться на изображения в CSS в Rails 4

    Первый подход WSDL: как указать разные имена для wsdl: port и wsdl: binding?

    Как получить тип T от члена общего classа или метода?

    Как применить одну и ту же функцию к каждому указанному столбцу в таблице данных.

    Взлом для запуска нескольких iMacros случайным образом

    Как конвертировать миллисекунды в формат «hh: mm: ss»?

    Где удаленные элементы идут на жесткий диск?

    Уведомление о пожарной безопасности Firebase

    Каковы технические отличия между Windows Vista и Windows 7?

    Гарантировано ли, что char составляет ровно 8 бит?

    Почему свойство «replace» устарело в директивах AngularJS?

    Использование Mockito для тестирования абстрактных classов

    Ошибка: выполнение выполнено для задачи ‘: ProjectName: mergeDebugResources’. > Crunching Cruncher * некоторый файл * не удалось, см. Журналы

    Как сравнить два богатых текстовых поля и выделить символы, которые были изменены?

    Давайте будем гением компьютера.