这是我学习android以来的第一篇博客
本人菜鸟,请各位程序员多多关照
android调用摄像头,并且把拍下来的照片用imageView显示出来
打开应用调用摄像头,拍照后点击确定
你拍下的照片就会在你的应用里显示出来
如图:
在捕获一张图片时,如果Camera 应用程序没有将图片返回给调用活动,那么简单地使用内置的Camera 应用程序捕获图像将不具有真正的作用。而为了使得它真正有用,可以将活动中的startActivity 方法替换为startActivityForResult 方法。使用该方法将允许我们访问从Camera 应用程序中返回的数据,它恰好是用户以位图(Bitmap)形式捕获的图像。
代码如下:
android调用摄像头,并且把拍下来的照片用imageView显示出来
![android调用摄像头拍照,并且用imageView显示出来 android调用摄像头拍照,并且用imageView显示出来](https://i-blog.csdnimg.cn/blog_migrate/b513179ad990679e5550ce855eef1a24.jpeg)
打开应用调用摄像头,拍照后点击确定
如图:
![android调用摄像头拍照,并且用imageView显示出来 android调用摄像头拍照,并且用imageView显示出来](https://i-blog.csdnimg.cn/blog_migrate/b9d4bca00571303e30283cdc918b5125.jpeg)
在捕获一张图片时,如果Camera 应用程序没有将图片返回给调用活动,那么简单地使用内置的Camera 应用程序捕获图像将不具有真正的作用。而为了使得它真正有用,可以将活动中的startActivity 方法替换为startActivityForResult 方法。使用该方法将允许我们访问从Camera 应用程序中返回的数据,它恰好是用户以位图(Bitmap)形式捕获的图像。
代码如下:
package com.example.activity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;
public class MainActivity extends Activity {
final static int CAMERA_RESULT = 0;
ImageView imv;//定义一个imageView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);//为了通过一个意图利用Camera 应用程序,我们所要做的仅仅是必须构造过滤器捕获的意图。
startActivityForResult(intent, CAMERA_RESULT);
//onActivityResult(requestCode, resultCode, intent)
}
protected void onActivityResult(int requestCode ,int resultCode , Intent intent )
{
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK)
{
Bundle extras = intent.getExtras();//从intent中获取附加值
Bitmap bmpBitmap=(Bitmap)extras.get("data");//从附加值中获取返回的图像
imv=(ImageView)findViewById(R.id.img);//得到imageView的ID
imv.setImageBitmap(bmpBitmap);//讲返回的图像用ImageView显示出来
}
}
}
需要在AndroidManifest.xml中添加
<intent-filter>
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;
public class MainActivity extends Activity {
}
需要在AndroidManifest.xml中添加
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /></intent-filter>