Как мне справиться с намерением браузера «поделиться страницей» в Android? - PullRequest
28 голосов
/ 22 мая 2010

Я прочитал здесь (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 }

Может кто-нибудь сказать мне, что я делаю не так? Моя основная (запускающая) деятельность работает нормально, поэтому я полагаю, что нет проблем с установкой на эмуляторе.

1 Ответ

17 голосов
/ 22 мая 2010

упс!

Оказывается, я установил пакет изначально, но после переустановки он молча терпел неудачу. Между этими двумя сборками я исправил манифест так, как вы видите выше - в установленной версии не были указаны фильтры намерений, которые, очевидно, не будут работать.

Думаю, я оставлю это здесь на случай, если у кого-то возникнет такая же необходимость? Или я должен просто удалить его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...