Неявное намерение: выкладывать изображения из галереи в мое приложение

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

это мой намеренный фильтр

<intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <action android:name="android.intent.action.VIEW"/>
            <data android:mimeType="image/*"/>
            <category android:name="android.intent.category.default"/>
        </intent-filter>

и вот мой код в MainActivity

Intent data = getIntent(); //get the intent that starts this activity, in this case: gallery intent
    if(data != null){ 
        Uri uri = data.getData();
        //set the image view: the problem is: uri is always null
        imageView.setImageURI(uri);
    }

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

0 ответов

Итак, я думаю, что мой ответ немного запоздал, но в любом случае вот он:

Вы уже правильно установили фильтр намерений в AndroidManifest.xml следующим образом:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

As on this Website stated, you get the URI with this command:

Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);

//set content of ImageView to the specific Uri
imageView.setImageURI(imageUri);

Dokumentation about the Intent class can be found here.

Другие вопросы по тегам