我是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();
}
}
}
答案 0 :(得分:0)
检查清单中是否有使用功能
<uses-feature android:name="android.hardware.camera" android:required="true" />
将获取图像更改为:
Bundle extras = intent.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
或者,写下更多细节,哪部分不起作用。