Firefox は、クリックされたリンクのインテントを本来の方法で起動しません。そのため、Firefox でリンクをクリックしてアプリを起動することはできません (これは Chrome や他のブラウザーで可能です)。
編集:これは2013年の投稿であることを覚えておいてください.
望ましい動作は次のとおりです。私の Web サイトにはリンクがあり、クリックすると Android アプリが起動します。アプリがインストールされていない場合は、できれば Google Play のそのページを開いてダウンロードする必要があります。
方法
私がそれを実装する方法は、次の形式の「インテント URI」を使用することです。
intent://myhost.com/#Intent;scheme=myscheme;package=com.myapp;end
アプリでは、インテント フィルターをマニフェストに登録し、一致するインテントをリッスンします。ただし、リンクがクリックされたときにそのようなインテントを起動して、アプリを起動できるようにするのはブラウザー次第です。
この方法をさまざまなブラウザーでテストしましたが、ほとんどのブラウザーで機能します。ただし、Firefox は例外です。他のブラウザーでは、アプリが起動するか、Google Play のページが読み込まれます (デバイスにインストールされていない場合)。
「インテント URI」を使用する方法は、Google が推奨する方法です。Chrome やその他のブラウザーで完全に動作します。他の方法もあります。可能性に関する多くのスレッドや記事を読みました。主な代替手段は次のとおりです。
代替方法
- のようなカスタムスキームを使用する
myscheme://mywebsite.com
- のような通常の http リンクを使用する
http://mywebsite.com
代替案 1 は、次の 2 つの理由からお勧めしません。Google もmarket://...
Google Play アプリの起動に使用していましたが、これは誤りであり、変更する必要があることを認めています。- アプリが現在インストールされていない場合、アプリは起動されず、ほとんどのブラウザーでエラー ページが表示されますが、これは明らかに望ましくありません。
代替案 2 は、ほとんどのブラウザーでは機能せず、「インテント URI」メソッドを支持して廃止されたようです。
特に Firefox
カスタム スキーム (代替 1) でのみ機能します。通常の http リンク (代替 2) の場合、リンクをロードして Web サイトを表示するだけです。推奨される「インテントURI」方式の場合は何もしません。実際には、アプリを起動するかどうかを尋ねるダイアログが表示されますが、[はい] をクリックしても何も起こりません。そのため、Firefox は「 」のようなリンクを認識しているようですintent://...
が、適切に処理していません。
Q: Firefox でリンクからアプリを起動するための推奨される方法は何ですか? 「インテント URI」メソッドが Firefox でサポートされていないのはなぜですか?
関連リンク: https://developers.google.com/chrome/mobile/docs/intents https://stackoverflow.com/a/3472228/1045941 (スレッドがかなり古いことに注意してください)