裁剪后的照片无法在imageview上显示
根据书《第一行代码》,我学着在写一个调用手机拍照然后裁剪照片,显示到imageview上的功能。
代码基本都是根据书里来的,没什么变化。
但是我运行程序后,无法在imageview上显示出来裁剪后的照片。
然后我打了log后,发现onActivityResult方法中根本就没有调用过CROP_PHOTO那部分代码。
这是为什么呢?求解答……我哪里没写对啊?好困扰的。
代码基本都是根据书里来的,没什么变化。
但是我运行程序后,无法在imageview上显示出来裁剪后的照片。
然后我打了log后,发现onActivityResult方法中根本就没有调用过CROP_PHOTO那部分代码。
这是为什么呢?求解答……我哪里没写对啊?好困扰的。
public class MainActivity extends AppCompatActivity {
public static final int TAKE_PHOTO = 1;
public static final int CROP_PHOTO =2;
private Button button;
private ImageView imageView;
private Uri imageUri;
@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 outputImage = new File(Environment.getExternalStorageDirectory(),"tempImage.jpg");
try {
if (outputImage.exists()){
outputImage.delete();
}
outputImage.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
imageUri = Uri.fromFile(outputImage);
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent, TAKE_PHOTO);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case TAKE_PHOTO:
if (resultCode == RESULT_OK){
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(imageUri,"image/*");
intent.putExtra("scale", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent, CROP_PHOTO);
}
break;
case CROP_PHOTO:
if (resultCode == RESULT_OK){
try {
Log.i("test","CROP_PHOTO");
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
break;
}
}
}
...全文
相关推荐
Android圆形头像拍照后“无法加载此图片”的问题解决方法(适配Android7.0)
主要介绍了Android圆形头像拍照后“无法加载此图片”的问题解决方法(适配Android7.0) ,需要的朋友可以参考下
Android中调用相机拍照之后裁剪得到的照片的源码
Android中调用相机拍照之后裁剪得到的照片的源码
自定义的圆环ImageView、ViewPager的动画切换、流式布局
包含内容: 1 、自定义的带圆环的ImageView; 2、ViewPager的切换动画; 3、流式布局; 4.......
android照相机及照片保存简单例子(运行正常)
这个问题不算难,认真就行,比如我写的忘记了加权限,浪费好多时间!!!不要忘记哦!
Android应用拍照后裁剪app_安卓源码.zip
Android应用源码之拍照后裁剪


