9

アプリケーションをアプリケーションのマーケットリンクに応答させたいのですが。したがって、リンクはmarket://details?id=my.package.nameです。これが必要な理由は、アプリがインストールされている場合はアプリを開き、アプリケーションがインストールされていない場合はマーケットページを開くリンクを送信できるようにするためです。私が直面している問題は、私のアプリケーションが、私のアプリケーションリンクだけでなく、すべての市場リンクに応答することです。その理由は、パッケージ名がURIのクエリ部分で定義されているためです。URIのクエリ部分に基づいてインテントをフィルタリングする方法はありますか?

4

2 に答える 2

8

sspAndroid API 19から、、、sspPrefixまたはを使用して実行できますsspPattern。例:

<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="https"
        android:sspPrefix="//play.google.com/store/apps/details?id=com.example.test"
    />
</intent-filter>

このようなフィルターを使用すると、OSはパラメーター付きのURLに対してのみアプリを提供id=com.example.testし、そのようなパラメーターがない場合はアプリを提供しません。ただし、これはAndroid 4.4以降でのみ機能し、古いバージョンでは無視されsspPrefixます。

この記事も参照してください:https ://chris.orr.me.uk/android-ssp-data-intent-filter/ 。

于 2015-03-16T17:31:26.460 に答える
6

いいえ、申し訳ありませんが、できません。の左側にあるすべてのものに基づいてフィルターを制約できますが、?それだけです。

于 2012-05-02T16:49:37.957 に答える