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 文件的路径就可以啦!

  • 相关阅读:
    CF-911E.Stack Sorting(栈)
    随机算法 && CodeForces
    CF-579D."Or" Game(或运算)
    CF-242E.XOR on Segment(异或线段树)
    莫队 && 洛谷 P1494 [国家集训队]小Z的袜子
    洛谷 P4168 [Violet]蒲公英(分块)
    分块 && 洛谷 P2801 教主的魔法
    启发式合并 && U41492 树上数颜色
    使用mysqlbinlog server远程备份binlog的脚本
    mysqldump备份过程中都干了些什么
  • 原文地址:https://www.cnblogs.com/wangying222/p/9023930.html
Copyright © 2011-2022 走看看