Android照相機(一):調用系統相機

調用系統相機

參考資料:Android–調用系統照相機拍照與攝像

使用Intent傳入固定的Action,調起系統相機

  • android.media.action.IMAGE_CAPTURE:Intent的Action類型,從現有的相機應用中請求一張圖片
    /**
     * 調用系統相機
     */
    @Override
    public void invokeSystemCamera(String photoPath) {

        //新建Intent,指定開啓系統相機的Intent
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        //設置保存照片的路徑
        File file = new File(photoPath);
        Uri uri = Uri.fromFile(file);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

        //發送Intent,打開系統相機
        startActivityForResult(intent, 1);
    }

在onActivityResult回調中接受拍照完成的回調

    /**
     * onActivityResult
     *
     * @param requestCode
     * @param resultCode
     * @param data
     */
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        /**
         * 系統相機
         */
        if (requestCode == Constant.REQUEST_CODE_SYSTEM_CAMERA) {

            Toast.makeText(this, "系統相機拍照完成", Toast.LENGTH_SHORT).show();

            //在這裏可以做一些事情,展示圖片什麼的
            mPresenter.systemCameraFinish();

        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章