zoukankan      html  css  js  c++  java
  • 安卓7.0手机拍照闪退问题解决

    最近遇到7.0的手机发现之前跳转拍照直接闪退了,网速百度了一下,原来7.0拍照需要兼容android7.0 使用共享文件的形式,接下来我就告诉大家怎么修改了,直接上代码

      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        takePhotofile = new File(Environment.getExternalStorageDirectory(),
                                Path.PATH_DOWNLOAD_IMG+json.getString("keyword") + "_" + System.currentTimeMillis() + ".jpg");
                        //获取系統版本
                        int currentapiVersion = android.os.Build.VERSION.SDK_INT;
                            if (currentapiVersion < 24) {
                                // 从文件中创建uri
                                phoneuri = Uri.fromFile(takePhotofile);
                                intent.putExtra(MediaStore.EXTRA_OUTPUT, phoneuri);
                            } else {
                                //兼容android7.0 使用共享文件的形式
                                ContentValues contentValues = new ContentValues(1);
                                contentValues.put(MediaStore.Images.Media.DATA, takePhotofile.getAbsolutePath());
                                //检查是否有存储权限,以免崩溃
                                if (ContextCompat.checkSelfPermission(webView.context, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                                        != PackageManager.PERMISSION_GRANTED) {
                                    //申请WRITE_EXTERNAL_STORAGE权限
                                    Toast.makeText(webView.context, "请开启存储权限", Toast.LENGTH_SHORT).show();
                                    return;
                                }
                                phoneuri = ((Activity) webView.getContext()).getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
                                intent.putExtra(MediaStore.EXTRA_OUTPUT, phoneuri);
                            }
                        // 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_CAREMA
                        ((Activity) webView.getContext()).startActivityForResult(intent, REQUEST_TAKE_PHOTO);

    然后在onActivityResult获取takePhotofile 文件的路径就可以啦!

  • 相关阅读:
    noi.ac NOI挑战营模拟赛1-5
    TJOI2015 弦论
    CQOI2018 破解D-H协议
    NOI2013 矩阵游戏
    NOI2015 荷马史诗
    NOI2015 寿司晚宴
    SDOI2014 重建
    NOI1999 生日蛋糕
    NOI2015 程序自动分析
    ZJOI2008 泡泡堂
  • 原文地址:https://www.cnblogs.com/wangying222/p/9023930.html
Copyright © 2011-2022 走看看