我想从电子邮件网址打开我的应用,基本上就像下面显示的Twitter.com示例。
通过链接发送电子邮件:
选择打开应用或浏览器:
点击应用程序选项后,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>
如果有人有正确答案,请在此处写一些例子。
答案 0 :(得分:12)
以下代码对我有用:
<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
。
答案 1 :(得分:9)
只需浏览此Deeplinking google文档即可。您将了解这种深层链接概念。
我希望这会对某些人有所帮助。
答案 2 :(得分:3)
例如:您的网址将类似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>
答案 3 :(得分:2)
对我来说,这里发布的答案都没有。我尝试了几十种不同的语法而没有任何成功。我在通过Cordova构建应用程序时遇到了解析错误。
我终于遇到this answered,这使我走上正轨。
所以我在名为PROJECT_ROOT/hooks/after_prepare/
的{{1}}文件夹中创建了一个钩子。这是这个钩子的内容:
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
。我希望这可以帮助有需要的人。