相机应用程序启动本机相机,然后在主页面上显示图像

时间:2015-10-08 06:44:46

标签: android android-intent bitmap camera uiimageview

我是android的初学者,一直在努力了解它的基本概念。我尝试用一​​个按钮和一个imageview制作一个应用程序。按钮启动了相机,一旦你拍摄并保存了它,它应该在图像视图中显示它。但是,它没有这样做,我试图在线搜索代码,它或多或少完全一样。任何你能提供的帮助将不胜感激! 谢谢! 继承我的代码:

package com.example.camapp;

import java.net.URI;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import android.provider.MediaStore;

public class MainActivity extends ActionBarActivity {
Button btn;
ImageView imgview;
Bitmap b;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button) findViewById(R.id.button1);
        imgview=(ImageView) findViewById(R.id.imageView1);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent n=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(n, 0);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent){
        super.onActivityResult(requestCode, resultCode , intent);
        if(resultCode == Activity.RESULT_OK){
            b = (Bitmap) intent.getExtras().get("intent");
    //      Toast.makeText(getApplicationContext(), "Value Of B : " + intent.getData(), Toast.LENGTH_LONG).show();
    //      URI u=URI.create(intent.getData().toString());
            imgview.setImageBitmap(b);
        }
        else {
            Toast.makeText(getApplicationContext(), "Else", Toast.LENGTH_LONG).show();
        }

    }

}

1 个答案:

答案 0 :(得分:0)

检查清单中是否有使用功能

<uses-feature android:name="android.hardware.camera" android:required="true" />

将获取图像更改为:

    Bundle extras = intent.getExtras();
    Bitmap imageBitmap = (Bitmap) extras.get("data");

或者,写下更多细节,哪部分不起作用。