启动一个照相程序并保存照片到制定目录以及屏幕旋转时参数的记录

本文介绍了一个简单的Android应用程序如何实现拍照功能。通过启动相机活动并指定图片输出路径,应用可以捕捉照片并显示在界面上。文章还涉及了屏幕旋转时的状态保存与恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

_path = Environment.getExternalStorageDirectory() + "/images/make_machine_example.jpg";   

protected void startCameraActivity()
    {
     File file = new File( _path );
     Uri outputFileUri = Uri.fromFile( file );

     Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
     intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );

     startActivityForResult( intent, 0 );
    }

 

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
    	Log.i( "MakeMachine", "resultCode: " + resultCode );
    	switch( resultCode )
    	{
    		case 0:
    			Log.i( "MakeMachine", "User cancelled" );
    			break;

    		case -1:
    			onPhotoTaken();
    			break;
    	}
    }

 0和1 是指当你按下开始拍照或者取消拍照时的响应代码

    protected void onPhotoTaken()
    {
    	_taken = true;

    	BitmapFactory.Options options = new BitmapFactory.Options();
        options.inSampleSize = 4;

    	Bitmap bitmap = BitmapFactory.decodeFile( _path, options );
    	_image.setImageBitmap(bitmap);

    	    }

 

    @Override
    protected void onSaveInstanceState( Bundle outState ) {
    	outState.putBoolean( PhotoCaptureExample.PHOTO_TAKEN, _taken );
    }
    @Override
    protected void onRestoreInstanceState( Bundle savedInstanceState){
    	Log.i( "MakeMachine", "onRestoreInstanceState()");
    	if( savedInstanceState.getBoolean( PhotoCaptureExample.PHOTO_TAKEN ) ) {
    		onPhotoTaken();
    	}
    }

 前一个是指屏幕旋转前保存 后一个指屏幕旋转完成 保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值