Firefox не задейства намерения за кликнати връзки по начина, по който трябва. Следователно човек не може да стартира тяхното приложение, като щракне върху връзка във Firefox (което е възможно в Chrome и други браузъри).
Редактиране: Моля, имайте предвид, че това е публикация от 2013 г.
Желаното поведение е следното: На моя уебсайт имам връзка, която при щракване трябва да стартира приложението ми за Android. Ако приложението не е инсталирано, за предпочитане е страницата му в Google Play да бъде отворена, за да го изтеглите.
Метод
Начинът, по който го прилагам, е с „URI на намерението“ във формата: intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end
В приложението регистрирам филтър за намерения в моя манифест и слушам за намерение, което съвпада. От браузъра обаче зависи да задейства такова намерение, когато се щракне върху връзката, така че приложението ми да може да стартира.
Тествах този метод с различни браузъри и работи на повечето от тях. С изключение на Firefox. С други браузъри приложението ми се стартира или страницата му в Google Play се зарежда (в случай че не е инсталирано на устройството).
Методът с "intent URI" е препоръчаният от Google. Работи перфектно в Chrome и в някои други браузъри. Има и други методи. Прочетох много теми и статии за възможностите. Основните алтернативи са:
Алтернативни методи
- използвайки персонализирана схема, като
myscheme://mywebsite.com
- използвайки обикновена http връзка, като
http://mywebsite.com
Алтернатива 1 не се препоръчва по две причини: - Не притежавам такава схема, не съществува в световен мащаб, грешна е. Google също използваха market://...
за стартиране на приложението Google Play, но те признаха, че това е грешно и трябва да се промени. - Ако приложението ми не е инсталирано в момента, то няма да бъде стартирано и повечето браузъри показват страница за грешка, което очевидно е нежелателно.
Алтернатива 2 не работи на повечето браузъри и изглежда е отхвърлена в полза на метода „intent URI“.
Firefox по-специално
работи само с персонализираната схема (алтернатива 1). В случай на обикновена http връзка (алтернатива 2) тя просто зарежда връзката и показва уебсайта. В случай на препоръчания метод "intent URI", той не прави нищо. Всъщност показва диалогов прозорец, който пита дали искате да стартирате приложението, но когато щракнете върху Да, нищо не се случва. Така че изглежда Firefox разпознава връзки като "intent://...
", но не ги обработва правилно.
В: Какъв е препоръчителният метод за стартиране на приложение от връзка във Firefox? Защо методът "intent URI" не се поддържа от Firefox?
Свързани връзки: https://developers.google.com/chrome/mobile/docs/intents https://stackoverflow.com/a/3472228/1045941 (имайте предвид, че нишката е доста стар)
intent:
сега: bugzilla.mozilla.org/show_bug.cgi?id=851693 - person Jarett Millard   schedule 03.11.2016