在imageview中显示来自intent的jpg图像

时间:2012-07-21 09:02:10

标签: android android-intent

如何在"android.intent.action.SEND"中显示从imageview收到的图片? 用户从应用列表中选择我的应用以共享图像。图片为sent via intent,我的活动会打开,但如何在图片视图中使用此图片?

使用

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

没有帮助,

getIntent().getType() returns image/jpg

3 个答案:

答案 0 :(得分: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);
        }
    }
.
.
.

答案 1 :(得分:0)

试试这个

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

希望有所帮助

答案 2 :(得分:0)

Bitmap实现Parcelable接口。所以要通过它

intent.putExtra("bitmap", bitmap);

并检索它使用:

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

并使用ImageView.setImageBitmap()

编辑:见Receiving Content from Other Apps