Rya*_*les 25 android android-camera
我希望这不是一个重复的问题,但我正在制作一个应用程序,我想要一个按钮打开相机应用程序(单独的默认Android相机).我怎么做到这一点?我知道有一个功能:
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE)
Run Code Online (Sandbox Code Playgroud)
我需要使用它吗?如何从xml文件中调用该按钮?
此外,我是否需要担心存储该图片或视频,或者默认的相机应用程序会处理这个问题?
小智 48
要拨打相机,您可以使用:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
图像将自动保存在默认目录中.
您需要在AndroidManifest.xml中设置摄像头的权限:
<uses-permission android:name="android.permission.CAMERA"> </uses-permission>
Run Code Online (Sandbox Code Playgroud)
Has*_*sud 29
Button b = (Button)findViewById(R.id.Button01);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
Bitmap image = (Bitmap) data.getExtras().get("data");
ImageView imageview = (ImageView) findViewById(R.id.ImageView01); //sets imageview as the bitmap
imageview.setImageBitmap(image);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以创建相机意图并将其命名为startActivityForResult(intent).
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
小智 5
我知道回复有点晚了,但您可以使用以下语法,因为它对我来说很好用
Camera=(Button)findViewById(R.id.CameraID);
Camera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent Intent3=new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
startActivity(Intent3);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111074 次 |
| 最近记录: |