Android系统调用手机拍照功能有两种方法来直接调用手机自带摄像头还有一个就是要当心自己的节拍。
例Camera360 强大的一个在每个操作系统都有一个手机摄影软件;您可以捕捉不同风格,不同特效的照片,同一时候具有云服务和互联网分享功能,全球用户已经超过2.5亿。如今专门的开发一款手机摄影软件肯定没多大意义,已经比只是这些前辈了。我们仅仅需学会怎样调用手机自带的摄像机完毕拍照并把照片获取过来,为用户提供上传头像,发表图文微博,传送图片的功能就可以。
完毕上述的功能十分的简单,甚至不须要在清单文件加入不论什么权限,仅仅须要一步就可以实现。
package com.example.g06_camera01; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { private ImageView imageView; private Button button; private final int CAMREA_RESQUSET = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) this.findViewById(R.id.imageView1); button = (Button) this.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAMREA_RESQUSET); } }); } //使用意图的回传值,推断照片是否已拍摄完成 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode == CAMREA_RESQUSET && resultCode == RESULT_OK) { Bundle bundle = data.getExtras(); Bitmap bitmap = (Bitmap) bundle.get("data"); imageView.setImageBitmap(bitmap); } } }
版权声明:本文博客原创文章,博客,未经同意,不得转载。
时间: 2024-10-05 04:45:10