调用相机,相册。显示

    xiaoxiao2021-03-25  141

    调用相机: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button= (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(ty==1){ ty=2; //第二种方法,直接使用Bundle,不缓存 Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,2); imageview= (ImageView) findViewById(R.id.imageview); }else { ty=1; String statue=Environment.getExternalStorageState(); if(!statue.equals(Environment.MEDIA_MOUNTED)){ //不可用,调用使用Bundle的方法 }else { //第一种,缓存到内存卡中 Intent mIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); mIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory()+File.separator+"temp.jpg"))); startActivityForResult(mIntent,1);} } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode){ case 1: FileInputStream fileInputStream=null; try { fileInputStream=new FileInputStream(Environment.getExternalStorageDirectory()+File.separator+"temp.jpg"); Bitmap b= BitmapFactory.decodeStream(fileInputStream); imageview.setImageBitmap(b); } catch (FileNotFoundException e) { e.printStackTrace(); } break; case 2: Bundle bundle=data.getExtras(); Bitmap bitmap= (Bitmap) bundle.get("data"); imageview.setImageBitmap(bitmap); break; default: break; } super.onActivityResult(requestCode, resultCode, data); } } 权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 调用相册: Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(intent, 4); case 4: Uri selectedImage = data.getData(); String[] filePathColumns = {MediaStore.Images.Media.DATA}; Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null); c.moveToFirst(); int columnIndex = c.getColumnIndex(filePathColumns[0]); String imagePath = c.getString(columnIndex); Log.e("图片路径",Environment.getExternalStorageDirectory()+File.separator+"temp.jpg"); Log.e("图片路径",imagePath+"11"); try { FileInputStream fileInputStream1=new FileInputStream(imagePath); Bitmap bm= BitmapFactory.decodeStream(fileInputStream1); imageview.setImageBitmap(bm); } catch (FileNotFoundException e) { e.printStackTrace(); } break;
    转载请注明原文地址: https://ju.6miu.com/read-1993.html

    最新回复(0)