Вопрос по android, android-intent – Показать изображение JPG от намерения в режиме просмотра изображений

2

Как отобразить изображение, полученное от"android.intent.action.SEND" вimageview? The user selects my app from the list of apps to share an image. The image is sent via intent и моя активность открывается, но как использовать это изображение в просмотре изображений?

с помощью

Bitmap  thumbnail = (Bitmap) getIntent().getExtras().get("data");

не помогает и

getIntent().getType() returns image/jpg

Ваш Ответ

3   ответа
3

Вы получаете изображение в намерении, поэтому вы должны обновить свой манифест как:

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

Тогда деятельности нужно:

void onCreate (Bundle savedInstanceState) {
...
// Get intent, action and MIME type
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();

if (Intent.ACTION_SEND.equals(action) && type != null) {
    if (type.startsWith("image/")) {
        Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
        if (imageUri != null) {
            YourImageView.setImageUri(imageUri);
        }
    }
.
.
.
Благодаря тонну! Оно работало завораживающе! Просто небольшое обновление, имя функции setImageURI. Amol Gupta
О да, это (setImageUri) была моей ошибкой, вы также сообщили мне использовать setImageURI () ... Спасибо.
0

Bitmap инвентарьParcelable интерфейс. Так что чтобы передать это использовать

intent.putExtra("bitmap", bitmap);

и чтобы извлечь его используйте:

Bitmap bitmap = (Bitmap) intent.getParcelableExtra("bitmap");

и использоватьImageView.setImageBitmap ().

РЕДАКТИРОВАТЬ: см.Получение контента из других приложений

Дело putExtra не в моем контроле. Это внешние приложения, которые управляют намерением, и галерея отправляет изображения jpg, а не растровые изображения. поэтому это решение не будет работать в моем случае. Спасибо за ответ :) Amol Gupta
используйте ответ Чинтана или прочитайтеdeveloper.android.com/training/sharing/receive.html подходит для вашего сценария
0

Попробуй это

 BitMap thumnail= (Bitmap) getIntent().getExtras().getParcelable("data");
 yourImageViewId.setImageBitmap(receiptimage);

Надеюсь, поможет

извините не помогло :( Amol Gupta

Похожие вопросы