我知道这个问题在网上被问了很多次,但我就是不能让它起作用。这是我的清单文件(我有3个活动,我只显示了一个我希望在关联时显示的活动):
<activity
android:name=".MyActivity"
android:label="@string/app_name"
android:theme="@style/HoloDarkTheme" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.ACTION_SEND" />
<action android:name="android.intent.action.EXTRA_TEXT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.action.BROWSABLE" />
<category android:name="android.intent.action.DEFAULT" />
<data android:scheme="http" />
<data android:host="example.com" />
</intent-filter>
</activity>当我启动浏览器并进入"example.com“时,我的应用程序没有启动。上面的XML有什么问题吗?
不确定是否相关,但此活动使用MediaPlayer播放视频。另外,我使用的是SDK版本11。
发布于 2011-12-14 02:51:40
我想通了。这只是一个打字错误的例子。而不是这个,
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.action.BROWSABLE" />
<category android:name="android.intent.action.DEFAULT" />我需要将最后两行中的"android.intent.action“替换为"android.intent.category”:
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />发布于 2014-05-01 05:22:52
我之所以在这里添加这个答案,是因为这个帖子是谷歌搜索“意图过滤器从http启动应用程序不起作用”时的热门话题之一。我认为我的根本原因也可以被认为是一个打字错误,但我将其称为"Android文档缺陷“。
在this page的底部有一行代码,它将URI分解为:
<scheme>://<host>:<port>/<path>这个细目表明将为我添加"://“、":”和"/“,因此我在intent-filter中使用了以下数据
<data android:scheme="http" />
<data android:host="my.school.edu" />
<data android:path="thingy" />然后我给自己发了一条短信,文本如下:“my.學.edu/thingy”,它被我的短信客户端(Hangout)识别为一个网址,所以它是可点击的。然而,点击它只是给了我一个浏览器的选择,我的应用程序没有出现。
所以我删除了主机和路径,我的应用程序启动了任何链接(或者至少是我尝试过的每个链接)。我把主机放回去了,它仍然起作用。把路径放回去,我们又回到了不工作的状态。心血来潮之下,我决定在路径前面加上一个斜杠:
<data android:path="/thingy" />...et瞧啊!浏览器中有我的应用程序!所以在我看来,错误是Android的文档,它表明斜杠是自动插入的。:)显然不是。
更多信息:我使用HTTP方案,因为在SMS和电子邮件消息中可以点击它,这让我可以免费到达这一点。
请注意,如果您指定了唯一的主机(和路径),并且用户在从列表中选择您的应用程序时选择“总是”,则以后点击您的链接时将绕过该选择对话框,直接转到您的应用程序,这很好用。
发布于 2011-12-10 10:18:42
请确保您的清单中包含internet权限。
https://stackoverflow.com/questions/8453860
复制相似问题