Android中怎么調用攝像頭拍照-創新互聯

本篇文章給大家分享的是有關Android中怎么調用攝像頭拍照,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創新互聯是一家集網站建設,吉林企業網站建設,吉林品牌網站建設,網站定制,吉林網站建設報價,網絡營銷,網絡優化,吉林網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

第一步,獲取權限

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

第二步,創建用于保存的文件,并且用intent調用系統攝像頭拍照程序

        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() + "創建成功");
                } 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卡訪問權限", Toast.LENGTH_LONG).show();
                finish();
            }
        }
    }

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

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

以上就是Android中怎么調用攝像頭拍照,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯-成都網站建設公司行業資訊頻道。

文章名稱:Android中怎么調用攝像頭拍照-創新互聯
網站鏈接:http://m.kartarina.com/article16/dchsdg.html

成都網站建設公司_創新互聯,為您提供App設計云服務器定制網站Google外貿網站建設網站改版

廣告

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

營銷型網站建設
主站蜘蛛池模板: 久久久久亚洲AV无码观看| 日韩激情无码免费毛片| 久久久国产精品无码一区二区三区 | 成人无码嫩草影院| 超清纯白嫩大学生无码网站| 亚洲AV无码欧洲AV无码网站| 亚洲人成网亚洲欧洲无码| av无码人妻一区二区三区牛牛 | 少妇伦子伦精品无码STYLES| 亚洲天然素人无码专区| 国产成A人亚洲精V品无码| 无码熟妇人妻AV在线影院| 无码国产精品一区二区免费3p| 精品无码黑人又粗又大又长 | 少妇无码一区二区三区| 国产色无码精品视频国产| 精品无码国产一区二区三区AV| 无码不卡亚洲成?人片| 伊人天堂av无码av日韩av| 无码久久精品国产亚洲Av影片| 一本久道中文无码字幕av| 亚洲a∨无码精品色午夜| 精品欧洲av无码一区二区14| 亚洲AV日韩AV永久无码免下载| 亚洲区日韩区无码区| 免费无码又爽又刺激高潮的视频| 久久久久亚洲AV无码专区首| 在线a亚洲v天堂网2019无码| a级毛片无码免费真人| 无码任你躁久久久久久| 亚洲午夜无码毛片av久久京东热| 无码日韩人妻精品久久蜜桃| 国产精品无码午夜福利| 一本大道久久东京热无码AV| 人妻丰满熟AV无码区HD| 少妇人妻偷人精品无码AV| 亚洲中文无码mv| 九九在线中文字幕无码| 在线精品免费视频无码的| 无码毛片内射白浆视频| 无码办公室丝袜OL中文字幕|