String imagePath;
Button btnButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnButton=(Button) findViewById(R.id.photo);
imagePath = Environment.getExternalStorageDirectory() + "/image" ;
File file = new File(imagePath);
if(!file.exists()){
file.mkdirs(); }
btnButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri imageUri = Uri.fromFile(new File(imagePath, "image.png"));
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, 1);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
deleteLatestPhoto();
//Bundle bundle = data.getExtras();
// Bitmap bitmap = (Bitmap) data.getExtras().get("data");
// String sdStatus = Environment.getExternalStorageState();
// if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
// Log.v("gaobaoshen",
// "SD card is not avaiable/writeable right now.");
// return;
// }
// File file = new File("/sdcard/myImage/");
// file.mkdirs();// 创建文件夹
// String fileName = "/sdcard/myImage/111.jpg";
// FileOutputStream b = null;
// try {
// b = new FileOutputStream(fileName);
// bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } finally {
// try {
// b.flush();
// b.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
private void deleteLatestPhoto() {
String[] projection = new String[] { MediaStore.Images.ImageColumns._ID,MediaStore.Images.ImageColumns.DATE_TAKEN };
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection,null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
if (cursor != null) {
cursor.moveToFirst();
ContentResolver cr =MainActivity.this.getContentResolver();
cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,BaseColumns._ID + "=" + cursor.getString(0), null);}
Button btnButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnButton=(Button) findViewById(R.id.photo);
imagePath = Environment.getExternalStorageDirectory() + "/image" ;
File file = new File(imagePath);
if(!file.exists()){
file.mkdirs(); }
btnButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri imageUri = Uri.fromFile(new File(imagePath, "image.png"));
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, 1);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
deleteLatestPhoto();
//Bundle bundle = data.getExtras();
// Bitmap bitmap = (Bitmap) data.getExtras().get("data");
// String sdStatus = Environment.getExternalStorageState();
// if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
// Log.v("gaobaoshen",
// "SD card is not avaiable/writeable right now.");
// return;
// }
// File file = new File("/sdcard/myImage/");
// file.mkdirs();// 创建文件夹
// String fileName = "/sdcard/myImage/111.jpg";
// FileOutputStream b = null;
// try {
// b = new FileOutputStream(fileName);
// bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } finally {
// try {
// b.flush();
// b.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
private void deleteLatestPhoto() {
String[] projection = new String[] { MediaStore.Images.ImageColumns._ID,MediaStore.Images.ImageColumns.DATE_TAKEN };
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection,null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
if (cursor != null) {
cursor.moveToFirst();
ContentResolver cr =MainActivity.this.getContentResolver();
cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,BaseColumns._ID + "=" + cursor.getString(0), null);}
}
需要权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />