我是android studio的初学者。我创建了一个对话视图,然后是按钮,进入相机激活。我无法找到激活它的方法。我只是想在按下按钮后立即激活相机。这是我的代码:
public class AddPictureDialog extends Dialog {
private Context context;
private Camera camera;
final Button takePhoto;
private DB myDB;
private SQLiteDatabase database;
private Person person = new Person();
public AddPictureDialog( Context context) {
super(context);
this.context = context;
setCanceledOnTouchOutside(false);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.addimage_layout);
camera = new Camera();
takePhoto = (Button) findViewById(R.id.takenewphoto);
takePhoto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Code here
}
});
}
}
答案 0 :(得分:1)
首先将此添加到您的清单文件中:
<uses-feature android:name="android.hardware.camera"
android:required="true" />
为了使用相机 并且,如果您使用小于4.3的android,则能够保存图片:
如果您还不知道,请稍微了解Intents。 (一个意图基本上让你启动一个外部活动)
上的说明操作添加以下两个字段:
private ImageView mImageView;
private Bitmap mImageBitmap;
和这个方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}
单击按钮时调用此按钮。
private void handleSmallCameraPhoto(Intent intent) {
Bundle extras = intent.getExtras();
mImageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(mImageBitmap);
mVideoUri = null;
mImageView.setVisibility(View.VISIBLE);
mVideoView.setVisibility(View.INVISIBLE);
}
转到[http://developer.android.com/training/camera/photobasics.html][3]
了解更多详情和完整的工作示例
答案 1 :(得分:0)
请参阅此处的文档:http://developer.android.com/guide/topics/media/camera.html
首先,您需要为清单文件添加相机权限。
<uses-feature android:name="android.hardware.camera" android:required="false" />
如果要存储图片,还需要添加存储权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
该链接还列出了录音和位置标记权限。
之后,请按照以下步骤操作:
撰写相机意图 - 使用以下其中一种意图类型创建请求图片或视频的意图:
启动相机意图 - 使用startActivityForResult()方法执行相机意图。启动意图后,相机应用程序用户界面将显示在设备屏幕上,用户可以拍摄照片或视频。
接收意图结果 - 在应用程序中设置onActivityResult()方法,以接收来自摄像头意图的回调和数据。当用户完成拍摄照片或视频(或取消操作)时,系统会调用此方法。
提供的链接将为您提供示例。