Android在fragment中条码扫码结果,相册调用getContentResolver

来源:互联网 发布:产品复制软件 编辑:程序博客网 时间:2024/04/28 22:36
   作者:LoveEmperor_王子様 2017.3.24
 @Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        /**         *处理二维码扫描结果         */        if (requestCode == REQUEST_CODE) {            //处理扫描结果(在界面上显示)            if (null != data) {                Bundle bundle = data.getExtras();                if (bundle == null) {                    return;}                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {                    String result = bundle.getString(CodeUtils.RESULT_STRING);                    codeText.setText(result);                    System.out.println("resultCode:"+result);                    //用默认浏览器打开扫描得到的地址                    Intent intent = new Intent();                    intent.setAction("android.intent.action.VIEW");                    Uri content_url = Uri.parse(result.toString());                    urlStrindex = new String(result);                    intent.setData(content_url);//                    System.out.println("intent"+intent);                    if(urlStrindex.indexOf("h") == 0)                    {                        startActivity(intent);                        System.out.println(urlStrindex);                    }                } else if (bundle.getInt(CodeUtils.RESULT_TYPE)                        == CodeUtils.RESULT_FAILED) {//                    Toast.makeText(TowFragment.this,//                            "解析二维码失败", Toast.LENGTH_LONG).show();                }}}        if (data == null) {            return;//当data为空的时候,不做任何处理        }        Bitmap bitmap = null;        if (requestCode == 0) {            //获取从相册界面返回的缩略图            bitmap = data.getParcelableExtra("data");            if (bitmap == null) {//如果返回的图片不够大,就不会执行缩略图的代码,因此需要判断是否为null,如果是小图,直接显示原图即可                try {                    //通过URI得到输入流                    InputStream inputStream = getActivity().getContentResolver().openInputStream(data.getData());                    //通过输入流得到bitmap对象                    bitmap = BitmapFactory.decodeStream(inputStream);                } catch (FileNotFoundException e) {                    e.printStackTrace();                }            }        } else if (requestCode == 1) {            bitmap = (Bitmap) data.getExtras().get("data");            saveToSDCard(bitmap);        }        //将选择的图片设置到控件上        imageViewCamera.setImageBitmap(bitmap);    }
1 0
原创粉丝点击