Я читаю здесь (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 }
Может ли кто-нибудь сказать мне, что я делаю неправильно? Моя основная (Launcher) активность работает нормально, поэтому я предполагаю, что нет проблемы с установкой на эмулятор.