私は購入ボタンをクリックした後にユーザーがインターネットブラウザー(例:クロム)にリダイレクトするアプリケーションを作成し、支払い後に彼が私のアプリ(私のアクティビティ)に戻って欲しいので、インテントフィルターを使用する必要があることを知りましたが、私にはうまくいきません!
私はこれらのコードをマニフェストに追加します:
<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:Host="returnApp" Android:scheme="myapp"></data>
</intent-filter>
そして私がこのようなURLを開くと:
myapp:// returnApp?status = 1
アプリが開かない。
myapp://returnApp/?status=1
のように開こうとします(末尾にスラッシュ文字を追加します)。 path パラメータが/
のデフォルト値で定義されているため、これが発生します。
残念ながら、空の文字列を正確に照合することはできません。ドキュメントの状態として:
/で始まる必要があるURIのパス部分。
本当にmyapp://returnApp?status=1
というURLでアプリを起動する必要がある場合は、次のようにAndroid:pathPattern=".*"
パラメータをデータ句に追加できます。
<intent-filter>
...
<data Android:Host="returnApp" Android:scheme="myapp" Android:pathPattern=".*"></data>
</intent-filter>
データAndroid:pathPattern=".*"
のインテントフィルターは、空のパスを含むすべてのパスに一致します。