安卓调用系统相机拍照

    xiaoxiao2021-12-14  19


    import java.io.File; import android.app.Activity; import android.content.Intent; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.os.SystemClock; import android.provider.MediaStore; import android.view.View; import android.widget.ImageView; public class MainActivity extends Activity { private File file ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void takePic(View view){ //开启手机的照相机应用拍照获取返回值 下面的代码直接去谷歌api中查询 然后直接把代码复制过来即可 // create Intent to take a picture and return control to the calling application //创建一个意图 用来捕获照相机的应用 图片捕获 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //创建一个文件用来保存这个照片 存储卡路径 用系统开机时间作为照片的名字 file = new File(Environment.getExternalStorageDirectory(),SystemClock.uptimeMillis()+".jpg"); // create a file to save the image /* * name The name of the extra data, with package prefix. 额外的数据的名称,包前缀 value The Parcelable data value. 共享的 数据值 * */ //添加额外的参数 //1.参 拍出来的照片存在哪个地方 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); // set the image file name // start the image capture Intent启动图像捕获的意图 //开启 Activity(活动) 获取结果 //1.意图 2.请求码 startActivityForResult(intent, 0); } //定义得到照片的方法 @Override// onActivityResult得到照片 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(file!=null&&file.exists()&&file.length()>0){ //判断 System.out.println(file.getAbsolutePath());//得到文件路径 ImageView iv = (ImageView) findViewById(R.id.iv); iv.setImageURI(Uri.fromFile(file)); } super.onActivityResult(requestCode, resultCode, data); } }
    转载请注明原文地址: https://ju.6miu.com/read-971740.html

    最新回复(0)