成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中如何調(diào)用攝像頭拍照

這篇文章主要介紹“Android中如何調(diào)用攝像頭拍照”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Android中如何調(diào)用攝像頭拍照”文章能幫助大家解決問題。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供渠縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為渠縣眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。

第一步,獲取權(quán)限

if (ContextCompat.checkSelfPermission(this,
  Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) {
            //如果沒有權(quán)限,動態(tài)申請授權(quán)
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
        }

第二步,創(chuàng)建用于保存的文件,并且用intent調(diào)用系統(tǒng)攝像頭拍照程序

        Button btTakePhoto = (Button) findViewById(R.id.btTakePhoto);
        btTakePhoto.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    File sdcard = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
                    picFile = new File(sdcard, System.currentTimeMillis() + ".jpg");
                    picFile.createNewFile();
                    Log.e("UseSystemCameraApp", picFile.getName() + "創(chuàng)建成功");
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(picFile));
                startActivityForResult(intent, 1);
            }
        });
    }

第三步,把照片顯示出來

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) {
            ImageView iv = (ImageView) findViewById(R.id.ivShow);
            iv.setImageURI(Uri.fromFile(picFile));
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

同樣也需要onRequestPermissionsResult

 @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 1) {
            if (!(grantResults.length > 0 && grantResults[0] ==
                    PackageManager.PERMISSION_GRANTED)) {
                Toast.makeText(this, "未獲得SD卡訪問權(quán)限", Toast.LENGTH_LONG).show();
                finish();
            }
        }
    }

到這里似乎就已經(jīng)完成要做的步驟了,但其實還有最后一步,因為我們使用的是intent.putExtra,這會導(dǎo)致當(dāng)前activity的URI會暴露給下一個activity,如果不處理,就會報錯。所以在onCreate中要使用StrictMode.VmPolicy.Builder進行監(jiān)控

 StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
        StrictMode.setVmPolicy(builder.build());
        builder.detectFileUriExposure();
        Button btTakePhoto = (Button) findViewById(R.id.btTakePhoto);

關(guān)于“Android中如何調(diào)用攝像頭拍照”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

當(dāng)前名稱:Android中如何調(diào)用攝像頭拍照
路徑分享:http://jinyejixie.com/article8/pociop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站小程序開發(fā)、電子商務(wù)企業(yè)網(wǎng)站制作、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
鸡西市| 玉山县| 灵武市| 扎兰屯市| 麻城市| 双鸭山市| 松桃| 中阳县| 女性| 长寿区| 积石山| 鲁甸县| 库伦旗| 扶绥县| 西盟| 连云港市| 湟中县| 宁陕县| 阿图什市| 吉木萨尔县| 朝阳县| 天津市| 蛟河市| 上蔡县| 辽宁省| 贡觉县| 井研县| 文水县| 乡城县| 扶风县| 东兰县| 通州市| 崇义县| 广宗县| 鄂伦春自治旗| 炎陵县| 茂名市| 澳门| 奎屯市| 横峰县| 南木林县|