Android:找不到处理Intent的活动{act = android.intent.action.OPEN_DOCUMENT cat = [android.intent.category.OPENABLE] typ = image / *}

时间:2016-02-08 10:26:02

标签: android imageview

我的布局文件中有一个ImageView。我只是想在打开我的应用时在ImageView中加载图片。

但是当我打开我的应用程序时会发生错误消息

Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT cat=[android.intent.category.OPENABLE] typ=image/* }

这是代码

ImageView mImageView;
    private static final int REQUEST_OPEN_RESULT_CODE=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_viewer_main);

        mImageView=(ImageView)findViewById(R.id.imageView);

        Intent intent= new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("image/*");
        startActivityForResult(intent, REQUEST_OPEN_RESULT_CODE );
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent resultData) {
        if(requestCode==REQUEST_OPEN_RESULT_CODE && resultCode==RESULT_OK){
            Uri uri=null;
            if(resultData!=null){
                uri=resultData.getData();
                try {
                    Bitmap bitmap=getBitmapFromUri(uri);
                    mImageView.setImageBitmap(bitmap);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }
    }

    private Bitmap getBitmapFromUri(Uri uri) throws IOException{
        ParcelFileDescriptor parcelFileDescriptor=getContentResolver().openFileDescriptor(uri, "r");
        FileDescriptor fileDescriptor=parcelFileDescriptor.getFileDescriptor();
        Bitmap bitmap= BitmapFactory.decodeFileDescriptor(fileDescriptor);
        parcelFileDescriptor.close();
        return bitmap;

    }

0 个答案:

没有答案