Android 拍照的兼容问题

随着技术的进步,很多以前的技术也慢慢走向了人生的转折点。

就拿今天的主角,拍照效果来说,也是进行了技术生涯的改朝换代。

在两年前,Android API 级别19 20 21盛行的年代,拍照效果的调用的权限还是在Manifest配置的时代,还是挺简单的,获取路径也只是通过   Environment.getExternalStorageDirectory().getAbsolutePath(); 就可以获取了。但是,技术圈里竞争愈发激烈,各种技术都在忙着更新自己的装备,或变得更加容易调用,或变得功能更加强大,在圈子的压力下,拍照也开始适应这个圈子,开始了Android 7.0的兼容。

具体的时间我不是很清楚,但是今天在我没有注意的情况下,拍照效果的新装让我惊讶,让我驻足了一会儿,才缓缓从其全新的面貌离开又不想忘记

 private void openCamera() {
      

        //獲取系統版本
        int currentapiVersion = android.os.Build.VERSION.SDK_INT;
        // 激活相机
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        // 判断存储卡是否可以用,可用进行存储
        if (hasSdcard()) {
            SimpleDateFormat timeStampFormat = new SimpleDateFormat(
                    "yyyy_MM_dd_HH_mm_ss");
            String filename = timeStampFormat.format(new Date());
            tempFile = new File(Environment.getExternalStorageDirectory(),
                    filename + ".jpg");
            if (currentapiVersion < 24) {
                // 从文件中创建uri
                imageUri = Uri.fromFile(tempFile);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
            } else {
                //兼容android7.0 使用共享文件的形式
                ContentValues contentValues = new ContentValues(1);
                contentValues.put(MediaStore.Images.Media.DATA, tempFile.getAbsolutePath());
                //检查是否有存储权限,以免崩溃
                if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                        != PackageManager.PERMISSION_GRANTED) {
                    //申请WRITE_EXTERNAL_STORAGE权限
                    Toast.makeText(this,"请开启存储权限",Toast.LENGTH_SHORT).show();
                    return;
                }
                imageUri =getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
            }
        }
        // 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_CAREMA
        startActivityForResult(intent, TAKE_PICTURE);
    }

怎么样,开启的时候是不是变得好像很高大上了,路径的设置在调用前已经设置好了,调用之后访问该路径就可以访问这张图片了,真的不是以前的拍照效果了,如果不是度娘我可能还不认识你新的面貌。显示也变得简单了,直接将路径的Uri转换为bitmap就可以显示了,真的很快,很方便。让我不得不把你记录下来。以防下次见到不认识它了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值