调用相机: 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