创建新项目之后,在布局文件中定义按钮,这里只用简单的Button来表示,也可以根据需要将按钮设置为图标的样式
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<Button
android:id="@+id/photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拍照"
android:onClick="click_1"
/>
<Button
android:id="@+id/photo1"
android:layout_below="@+id/photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="摄像"
android:onClick="click_2"
tools:ignore="OnClick" />
</LinearLayout>
MainActivity中
public void click_1(View v){
//启动拍照的Activity
Intent intent=new Intent ();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//音频捕获
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("sdcard/hhh.jpg")));//设置图片存储位置及图片的名称
startActivityForResult(intent ,10);//销毁返回数据
}
public void click_2(View v){
//启动摄像的Activity
Intent intent=new Intent ();
intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);//视频捕获
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("sdcard/hhh1.3gp")));//设置存视频储位置及视频的名称
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);//设置录屏质量。0表示低质量,1表示高质量
startActivityForResult(intent ,20);//销毁返回数据
}
@SuppressLint("WrongConstant")
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==10) //弹出对话框,做一个提示作用,如果等于10 ,就弹出对话框
{
Toast.makeText(this,"拍照完毕",0).show();
}
else if(requestCode==20){
Toast.makeText(this,"摄像完毕",0).show();
}
}