Android_通过Intent调用系统相机和相册回传bitmap

原创 2016年06月01日 09:45:22

DO

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView 
        android:id="@+id/takePhoto_imageView"
        android:layout_margin="50dp"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:src="@drawable/ic_launcher"/>

    <Button 
        android:layout_marginTop="90px"
        android:id="@+id/takePhoto_bt1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="20sp"
        android:textStyle="bold"
        android:text="拍照"/>

    <Button 
        android:id="@+id/takePhoto_bt2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="20sp"
        android:textStyle="bold"
        android:text="从相册选择照片"/>
</LinearLayout>

MainActivity.java

package com.lxf;

import java.io.FileNotFoundException;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

/**
 * @address BeiJing
 * @author LiXufei
 * @function  拍照取图相册取图
 */
public class cTakePhoto extends Activity{

    private ImageView imageView;
    private int TAKE_PHOTO=1;   //拍照
    private int GET_PHOTO=2;    //取照片

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.android_takephoto);
        //获取ImageView控件
        imageView = (ImageView) findViewById(R.id.takePhoto_imageView);

        /*
         * 拍照取图
         */
        findViewById(R.id.takePhoto_bt1).setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                //设置拍照意图
                Intent mIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(mIntent, TAKE_PHOTO);

            }
        });

        /*
         * 相册取图
         */
        findViewById(R.id.takePhoto_bt2).setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("image/*");
                startActivityForResult(intent, GET_PHOTO);

            }
        });

    }
    //接受回传值
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {  //回传值接受成功

            if (requestCode == TAKE_PHOTO) {    //拍照取图

                Bundle bundle = data.getExtras();   //获取data数据集合
                Bitmap bitmap = (Bitmap) bundle.get("data");        //获得data数据
                Log.i("TAG", "拍照回传bitmap:"+bitmap);
                imageView.setImageBitmap(bitmap);

            }

            if (requestCode == GET_PHOTO) {     //相册取图

                ContentResolver contentResolver = getContentResolver();
                try {

                    Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(data.getData()));
                    Log.i("TAG", "从相册回传bitmap:"+bitmap);
                    imageView.setImageBitmap(bitmap);

                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

            }

        }

    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android调用系统相机或相册更换头像

在android项目开发中,手机端的开发中,都会涉及到用户信息,而用户信息中就会涉及到切换用户头像的功能,刚好前端时间进行过这方面的开发,下面是该功能的实现: 布局文件中我使用的是ImageButt...

Android上传图片之调用系统拍照和从相册选择图片

现在几乎应用都会用到上传图片的功能,而要上传图片,首先得选择图片,本文不针对如何上传图片到服务器(每个项目与服务器交互的方式不同,因此不写上传图片到服务器相关代码),只是对选择图片做简单的介绍,没有涉...

Android调取系统相册和相机照片设置到ImageView并上传到服务器

网上的这类答案很多,不同的手机也会出现不同的情况,自己每次做这个功能都要掉进去很多次坑,分享给大家,也自己做一个笔记 话不多先看下效果 代码开始: 首先定义一个 Popu...

Android开发基础 调用相机 系统相册(并对图片进行压缩处理)

前言:做了好久的安卓了,一直想写点东西分享下。但是又总觉得自己学的还不够好,说出来有可能会误导人,所以一直都没有发,最近在项目中遇到了最多的问题就是关于图片的问题,应该算是比较简单的了,拿出来跟大家分...
  • L_zhp
  • L_zhp
  • 2016-03-10 15:05
  • 2635

Android 调用系统相机拍照并且显示在相册中,以及中间可能会遇到的一些问题的解决

主要思路是在使用照相机拍照,然后为拍得的照片在SD卡新开一个储存照片的文件 代码:因为要调用照相机和SD卡所以需要添加以下权限: 在manifests中添加 android:name="android...
  • T3
  • T3
  • 2017-04-14 15:06
  • 368

Android 多媒体应用——调用系统相机和相册

有时朋友圈发一条状态,想要添加一张照片我们可以直接用相机拍摄,也可以直接在相册中选取上传,这就是用到了应用调用相机或者相册的功能。我们如何为应用添加这个功能呢?调用相机拍照  对于使用相机进行拍摄实现...

Android 拍照以及一些常用的处理,例如将图片显示到相册(包含了安卓系统6.0以上调用相机的处理)

/** * 方法一:最简单的拍照,但是拍摄的会比较模糊 ,是因为系统默认给我们的图片进行了压缩 *@paramview */ public void_camera1(Vie...

Android调用系统相册和相机选择图片显示在界面

Android 调用系统相册(未进行权限判断)Intent intent = new Intent(Intent.ACTION_PICK); intent.setDataAndType(MediaS...

android系统如何调用自带的相机相册

android系统如何调用系统自带的相册和相机简单的代码: 1)第一种调用的方法相关代码: import java.io.IOException; import com.example....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)