启动系统Camera拍照(Android)

代码功能说明:启动手机自带camera应用,拍照后回到对应应用


    private static final int TAKE_PICTURE = 1;
    private String TEMP_FILE = "";

    public String buildFileName(){
        Date now = new Date();
        SimpleDateFormat formater = new SimpleDateFormat("yyMMdd-HHmmss");

        String SDCARD = Environment.getExternalStorageDirectory() + "/";
        String basePath = SDCARD + "Pictures/";

        File dir = new File(basePath);
        dir.mkdirs();

        return basePath + formater.format(now) + ".jpg";
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        String filename = "";
        try {
            if (resultCode == Activity.RESULT_OK && requestCode == TAKE_PICTURE) {
                File file = new File(TEMP_FILE);
                if(file.exists()){
                    filename = file.getPath();
                    Toast.makeText(MainActivity.this, "图片已保存在:" + filename, Toast.LENGTH_SHORT).show();
                }
                else {
                    Toast.makeText(MainActivity.this, "图片保存失败", Toast.LENGTH_LONG).show();
                }
            }
        } catch (Exception err) {
            Log.e("Exception", err.getLocalizedMessage());
        }
    }
    /**
     * 拍照
     */
    public void doTakePicture(){
        TEMP_FILE = buildFileName();
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //调用摄像头拍照
        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(TEMP_FILE))); //另存图片地址
        startActivityForResult(intent, TAKE_PICTURE);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值