Я прочитал здесь (http://androidlittle.blogspot.com/2009/08/intent-filter-for-share-link.html), что фильтр намерений требуется для обработки намерения "поделиться ссылкой", которое отправляет веб-браузер Android. Я поместил это внутри блока в моем 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 }
Может кто-нибудь сказать мне, что я делаю не так? Моя основная (запускающая) деятельность работает нормально, поэтому я полагаю, что нет проблем с установкой на эмуляторе.