После некоторых трудностей и использования превосходного приложения "Intent Intercept" я обнаружил, что изображения Picasa имеют тип MIME "text / plain" и имеют строку URL-адреса в Intent.EXTRA_TEXT.
Итак, чтобы обойти это, я добавил фильтры намерений, как указано выше, но для «text / plain» в манифесте;
<intent-filter >
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
.. А в Деятельности проверьте, связано ли значение для Intent.EXTRA_TEXT в Intent - если так, получите его и проверьте, является ли это http-ссылкой .. И если так - загрузите изображение с URL;
if (Intent.ACTION_SEND.equals(intent.getAction())) {
Bundle extras = intent.getExtras();
if (extras.containsKey(Intent.EXTRA_TEXT)) {
Uri uri = Uri.parse((String) extras.getCharSequence(Intent.EXTRA_TEXT));
if (uri != null) {
String scheme = uri.getScheme();
if (scheme.equals("http")) {
downloadImage(uri);
// ...
Однако мне все еще интересно, есть ли лучший способ справиться с этим? Кажется, у меня сейчас нет никаких гарантий, что URL-адрес действительно указывает на изображение или какой-то другой непослушный материал: -)