基本的に Twitter.com の場合の例のように、メールURLからアプリを開きたい.
リンク付きメール:
アプリまたはブラウザを開くための選択:
アプリの選択をクリックすると、Twitterアプリが開きます:
次のコードを試しましたが、機能していません。
<intent-filter>
<action Android:name="Android.intent.action.VIEW"></action>
<category Android:name="Android.intent.category.DEFAULT"></category>
<category Android:name="Android.intent.category.BROWSABLE"></category>
<data Android:Host="www.Twitter.com" Android:scheme="http"></data>
</intent-filter>
誰かが適切な答えを持っているなら、ここにいくつかの例を書いてください。
次のコードは私のために働いた:
<intent-filter>
<action Android:name="Android.intent.action.VIEW"></action>
<category Android:name="Android.intent.category.DEFAULT"></category>
<category Android:name="Android.intent.category.BROWSABLE"></category>
<data
Android:Host="www.my.app.com"
Android:path="launch"
Android:scheme="http"></data>
</intent-filter>
メールリンクをhttp://www.my.app.com/launch
に設定します。
これをただ通過してください ディープリンク google document。このディープリンクの概念について知ることができます。
これが体に役立つことを願っています。
例:URLは https://roadies.com のようになり、マニフェストには次のようなインテントフィルターがあります。
Android:name="com.droid.MainActivity"
Android:label="@string/app_name" >
<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="roadies.com"
Android:scheme="https" />
</intent-filter>
</activity>
私にとって、ここに投稿された答えはどれもうまくいきませんでした。何十もの異なる構文を試してみましたが、成功しませんでした。 Cordova経由でアプリをビルドしているときに解析エラーが発生していました。
私は最終的に これは答えました に出会い、それが私を正しい軌道に導きました。
そこで、PROJECT_ROOT/hooks/after_prepare/
フォルダーに010_add_intent_filters.sh
というフックを作成しました。このフックの内容は次のとおりです。
!/usr/bin/bash
MANIFEST=./platforms/Android/AndroidManifest.xml
grep -q pathPattern $MANIFEST && { print "Manifest already modified. Nothing to do."; exit 0; }
AFTER_LINE='Android:name="MainActivity"'
ADDITION='\
<intent-filter>\
<action Android:name="Android.intent.action.VIEW"></action>\
<category Android:name="Android.intent.category.DEFAULT"></category>\
<category Android:name="Android.intent.category.BROWSABLE"></category>\
<data Android:scheme="https" Android:Host="google.com" Android:pathPattern=".*"></data>\
</intent-filter>
';
sed -i -e "/${AFTER_LINE}/a${ADDITION}" $MANIFEST
これは最終的に機能しました。フックパスを使用する場合、config.xml
を変更する必要はありません。これが困っている人の助けになることを願っています。
PS:Cordovaは素晴らしい技術だと確信していますが、このようなひどく文書化されたライブラリを見たことはめったにありません。