从图库中选择图像并在ImageView上显示它,在Nexus 5上发布

时间:2014-12-10 14:37:45

标签: android imageview onactivityresult

我有一个非常奇怪的问题,我希望用户选择一个图像并在ImageView上显示,该代码在我的小米mi52(V4.1.1)和我的小米MiPad(V4.4.4)上完美运行,但它&# 39;我的Nexus 5(V5.0)完全失败了。

public class CreateContactActivity extends Activity {

    private ImageView imgProfile;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create_contact);
        imgProfile = (ImageView)findViewById(R.id.imgProfileIV);
    }

    public void ImageProfile(View view) {
        Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
        photoPickerIntent.setType("image/*");
        startActivityForResult(photoPickerIntent, 100);
    }

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

        switch(requestCode) {
            case 100:
                if(resultCode == RESULT_OK){
                    Uri selectedImage = imageReturnedIntent.getData();
                    imgProfile.setImageURI(selectedImage);
                }
           }
    }
}

布局activity_create_contact.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <ImageView
        android:id="@+id/imgProfileIV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_action_person"
        android:onClick="ImageProfile" />


</LinearLayout>

在LogCat上我收到以下错误:

12-10 15:33:18.348 D/skia﹕ --- SkImageDecoder::Factory returned null
12-10 15:33:18.350 I/System.out﹕ resolveUri failed on bad bitmap uri: content://media/external/images/media/72

奇怪的是,它只是在我的Nexus 5上,而不是在小米设备上。我正在寻找和寻找,但我不明白问题出在哪里。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

结果的差异可能来自您在不同平台上选择的“选择器”。

您应该尝试通过安装相同的文件浏览器应用作为选择器来进行控制实验,以便我们可以确保问题来自Android版本的差异