调用系统相机拍照,保存照片,调用系统裁剪API对照片处理,显示裁剪之后的照片
2016-05-18 10:12
573 查看
package com.pingyijinren.test; import android.annotation.TargetApi; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.ContentResolver; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Build; import android.os.Environment; import android.provider.MediaStore; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import java.io.File; import java.io.FileNotFoundException; public class MainActivity extends AppCompatActivity{ private Button button; private ImageView imageView; private Uri uri; private File file; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button); imageView=(ImageView)findViewById(R.id.imageView); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { file=null; try{ file=new File(Environment.getExternalStorageDirectory()+"/test.jpg"); if(file.exists()){ file.delete(); } file.createNewFile(); uri= Uri.fromFile(file); Intent intent=new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); startActivityForResult(intent, 1); } catch(Exception e){} } }); } @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ if(requestCode==1){ Intent cropIntent=new Intent("com.android.camera.action.CROP"); cropIntent.setDataAndType(uri,"image/*"); cropIntent.putExtra("scale",true); cropIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri); startActivityForResult(cropIntent,2); } else if(requestCode==2){ try{ Bitmap bitmap= BitmapFactory.decodeStream(getContentResolver().openInputStream(uri)); imageView.setImageBitmap(bitmap); } catch(Exception e){} } } }
相关文章推荐
- 关闭 FileChannel 打开的文件
- OpenGL 图像的加载和存储
- BitMask 使用参考
- Cactiez v0.7 syslog不接收日志问题bug
- Find the Duplicate Number
- 一篇不错的Gibbs Sampling解释文章,通俗易懂
- 如何区分Babel中的stage-0,stage-1,stage-2以及stage-3(二)
- 程序员,我们都是夜归人【转】
- ios swift 测试框架翻译之Quick例子和一组例子的有序测试
- ios swift 测试框架翻译之Quick例子和一组例子的有序测试
- Cassandra数据库学习
- 在二维数组中查找一个数
- Unresolved inclusion: <jni.h>
- android 6.0 vold shutdown流程
- JavaScript代码收集
- JavaScript代码收集
- JavaScript代码收集
- JavaScript代码收集
- JavaScript代码收集
- JavaScript代码收集