我在这里阅读(http://androidlittle.blogspot.com/2009/08/intent-filter-for-share-link.html)需要什么样的过滤器来处理android web浏览器发送的“共享链接”意图。我把它放在我的AndroidManifest.xml中的一个块中,如下所示:
<activity android:name=".ShareLink">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<meta-data/>
</activity>
我不能为我的生活让这个被触发。当我在android浏览器中共享一个链接时,模拟器日志显示它正在创建一个选择器意图,但是没有给出选择器正在作用的意图的详细信息。弹出没有选择器窗口,意图由SMS应用程序处理。
我也尝试手动启动意图:
adb shell am start -D -a android.intent.action.SEND -c android.intent.category.DEFAULT -t text/plain -d http://google.com/
但我得到的回应是:
Starting: Intent { act=android.intent.action.SEND cat=[android.intent.category.DEFAULT] dat=http://google.com/ typ=text/plain }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.SEND cat=[android.intent.category.DEFAULT] dat=http://google.com/ typ=text/plain flg=0x10000000 }
谁能告诉我我做错了什么?我的主要(启动器)活动工作正常,所以我假设在模拟器上安装没有问题。
答案 0 :(得分:17)
哎呦!
事实证明,我最初安装了软件包,但重新安装后却无声无息。在这两个版本之间,我修改了清单,如上所示 - 已安装的版本没有指定intent-filters,这显然不起作用。
猜猜我会留下这个,以防有人有同样的需求吗?或者我应该删除它?