2015-11-23 11 views
10

私は、購入ボタンをクリックした後にそのユーザーを作成しました。インターネットブラウザ(例:クローム)にリダイレクトし、支払い後、私の活動)ので、私はインテントフィルタを使用すべきであることを知ったが、それは私のためには機能しません!特定のURLを開いた後、ブラウザからマイアプリにリダイレクト

私はマニフェストにこれらのコードを追加します。

myappに://?returnApp状態= 1

私のアプリを

<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を開くと開かない。

答えて

11

myapp://returnApp/?status=1(末尾のスラッシュ文字を追加)のように開こうとします。 pathパラメータがデフォルト値/で定義されているためです。

残念ながら、空の文字列を正確に照合することはできません。ドキュメントの状態:

aで始まるURIのパス部分。

あなたが本当に正確にURL myapp://returnApp?status=1でアプリを起動する必要がある場合は、android:pathPattern=".*"が空のものを含む任意のパスに一致するデータを持つ

<intent-filter> 
    ... 
    <data android:host="returnApp" android:scheme="myapp" android:pathPattern=".*"></data> 
</intent-filter> 

インテントフィルタのようなあなたのデータ句にandroid:pathPattern=".*"パラメータを追加することができます。

+0

動作しませんでした。 – esmaeil

+1

@esmaeil答えを更新しました。 – pepyakin

+0

@esmaeil、あなたはコマンドラインからアプリを起動しようとしましたか?コマンドラインシェル 'adb shell am start -a android.intent.action.VIEW -d 'myapp:// returnApp?status = 1' --debug-log-resolution'で次のコマンドを実行すると、logcatに何が表示されますか? ? – pepyakin

関連する問題