0

問題の説明

私はAndroidアプリケーションを作成していますが、ユーザーがAndroidで標準のWebブラウザーを開き、Webページ(http://mywebpage.com)に移動して、ボタン(Test Button)Webを押すと、アプリケーションにいくつかの機能を追加する必要があります。ページは、アプリケーションがAndroidフォンにすでにインストールされているかどうかを検出する必要があります。

この問題を解決するために私は何をしますか

私は多くの記事を読み、ここでいくつかの質問をしましたが、私のアプリケーションが電話にインストールされているかどうかをWebページが理解できるようにするために、何かを行うことができないことを理解しています。マニフェストファイル

<a href="my.special.scheme://other/parameters/here">

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="my.special.scheme" />
</intent-filter>

しかし、ユーザーが私のWebサイトのリンクを押すと、アプリケーションが電話にインストールされていないかのように、これでは十分ではありません。そのようなURLがないという404エラーが表示さmy.special.scheme://other/parameters/hereれ、これに対する別の解決策を見つけたいと思います。考える。

問題の解決策

<a href="my.special.scheme://other/parameters/here">ユーザーがリンクを押して404エラーが表示されたときに、Webサイトから例外をスローするにはどうすればよいですか。つまり、URLが無効なリンクを参照していることを確認し、その場合は別のリンクにリダイレクトするために、AJAXまたはJAVAスクリプト呼び出しを行うことができます。

問題2の解決策

私はこのようなインテントフィルターを使用します

<intent-filter>
    <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:host="commonsware.com" android:path="LaunchApp"/>
</intent-filter>

このようなWebページにリンクを配置します

<a href="commonsware.com/LaunchApp">Start App</a>.

質問

実際のURLが存在しない場合、または404エラーが発生した場合に、指定したURLにリダイレクトするにはどうすればよいですか。私はAJAXとJAVAスクリプトのコーディングが苦手なので、例を教えてください

4

1 に答える 1

2

ここでダイアンハックボーンのこの答えに基づいて、私はそのようなことをしました:

登録済みのスキームでない限り、スキームを使用しないでください。スキームはユニバースに対してグローバルであり、Webページを介してこれをユニバースに出力するため、スキームのルールに従います。

実行できるもう1つのアプローチは、起動するインテントを作成し、Intent.toUri()の結果を出力して、リンクで使用する文字列を取得することです。(これはインテントである必要があります:URI。)次に、そのインテントが使用する標準の命名規則に従って、独自のアクションを実行することをお勧めします。必要に応じて、Intent.setPackage()を使用して、リンクからアプリのみを起動できるようにすることもできます。(セキュリティ上の理由から、これにはIntent.setComponent()を使用できないことに注意してください。)

目的のアクティビティを起動するためのインテントを作成し、説明したように、インテントをURIに変換し、それをstdoutに出力しました。intent:このURI(スキームとして始まります)私は次のように私のWebページで使用しました:

<a href="intent:/...">Start App</a>

これにより、アプリケーションがインストールされている場合はアクティビティが開始されます。インストールされていない場合は、Playストアアプリが表示され、ユーザーがダウンロードしてインストールできるアプリのページ(Playストアにある場合)が既に表示されます。

于 2012-09-15T06:35:53.920 に答える