我从库中选择图像以将背景设置为小部件但是错误

时间:2017-06-07 08:12:11

标签: android

当我从图库中选择图片时,这是错误的。我在genymotion虚拟测试。

java.lang.OutOfMemoryError:无法分配带有15855104个空闲字节的83886092字节分配和73MB直到OOM

ImageView(activity_quotes.xml)

<ImageView
    android:id="@+id/imgBG"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/defaultwall"/>

选择图像的按钮(MainActivity activity_main)

private void initChange()
{

    btnChangeWall = (Button) findViewById(R.id.btnWall);

    btnChangeWall.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Your Picture"), PICK_IMAGE_REQUEST);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {

        Uri uri = data.getData();

        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
            ImageView imageView = (ImageView) findViewById(R.id.imgBG);
            imageView.setImageBitmap(bitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意:ImageView不在MainActivity activity_main上,而是在不同的类和活动(Widget)上。你可以看到pic2

This widget

QuotesWidget (inc activity_widget)

0 个答案:

没有答案