packagecom.create.intenttest;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.graphics.Bitmap;importandroid.net.Uri;importandroid.os.Bundle;importandroid.os.Environment;importandroid.provider.MediaStore;importandroid.support.v7.app.AppCompatActivity;importandroid.util.Log;importandroid.view.View;importandroid.widget.Button;importandroid.widget.ImageView;importjava.io.File;public class MainActivity extendsAppCompatActivity {privateSharedPreferences sp;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp= getSharedPreferences("config", MODE_PRIVATE);
Button takePhoto=(Button) findViewById(R.id.btn);
Button selectPhoto=(Button) findViewById(R.id.btn2);
takePhoto.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {//调用相机逻辑
Intent takeIntent = newIntent(MediaStore.ACTION_IMAGE_CAPTURE);//下面这句指定调用相机拍照后的照片存储的路径//注意,当给照片指定路径后,onactivityresult()方法中返回的data就为null了,这时要相取的数据//可以考虑把你设定的路径存到sp中,设置照片时在sp中取出来,使用imageView.setImageBitmap(sp.getString("photoPath"))//当然,如果你拍摄和获取是在同一个activity中路径直接设为成员变量就好。无需sp。//takeIntent.putExtra(MediaStore.EXTRA_OUTPUT,//Uri.fromFile(new File(Environment.getExternalStorageDirectory(), Constant.PHOTONAME)));//sp.edit().putString(Constant.TAKE_PHOTO_PATH, Environment.getExternalStorageDirectory() + "/" + Constant.PHOTONAME).commit();
startActivityForResult(takeIntent, Constant.TAKEPHOTO_CODE);
}
});
selectPhoto.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View v) {
Intent intent= new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENT
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/jpeg");
startActivityForResult(intent, Constant.SELECT_PIC);
}
});
}
@Overridepublic void onActivityResult(int requestCode, intresultCode, Intent data) {
Log.e("data", data + "----------------");
ImageView imageView=(ImageView) findViewById(R.id.image);switch(requestCode) {case Constant.TAKEPHOTO_CODE://相机返回
if (data != null) {if (data.hasExtra("data")) {
Bitmap thumbnail= data.getParcelableExtra("data");
imageView.setImageBitmap(thumbnail);
}
}case Constant.SELECT_PIC://相册返回
if (data != null) {
Uri uri=data.getData();
imageView.setImageURI(uri);
}
}
}
}