Android_5_学习《第一行代码》的使用摄像头和相册无法显示图片问题解决

解决方法参照网上教程:

 

学习《第一行代码》的使用摄像头和相册无法显示图片总结

在《第一行代码》的8.3小节调用摄像头和相册时,发现书上把代码敲完后,可以调用摄像头拍照,

勾选确认后回到APP页面时,并没有显示图片,选择相册图片也是一样,可以打开相册,

选中相片返回后也是无法在APP上显示,解决过程如下:

书上原代码:(粘贴自网上)

 

只说显示的问题吧,注意到进入显示有:

 

这么一个限定条件,而RESULT_OK = -1 ,那么requestCode是多少呢?前面是switch(requestCode) --> 然后是case TAKE_PHOTO:  TAKE_PHOTO=1;

结果逻辑就变成这样,当requestCode = TAKE_PHOTO = 1时,进入到case里面,进入case之后, requestCode = 1 != RESULT_OK = -1 所以,

进入不了显示图片的程序里,自然也就无法显示图片了。

同理,选中相册中的相片也是一样,case CHOOSE_PHOTO: 这里CHOOSE_PHOTO = 2; 也不等于 -1 ,所以也无法显示相片。

 

解决过程:

一开始将case TAKE_PHOTO中的 if ( resultCode == RESULT_OK )

改为 if ( resultCode == RESULT_FIRST_USER) 结果拍照可以显示图片,

但是在case CHOOSE_PHOTO:  中也这样改选图片之后还是不行,

仔细看一下发现RESULT_FIRST_USER = 1;

TAKE_PHOTO值一样,因此,第一个case可以跑进那个if 里面,第二个不行。

接下来,直接把第二的case中的 if( result == RESULT_OK ) 改为 if ( result == 2 )

结果选择相片也是可以正常显示了。

到这里问题解决了。

 

解决完之后正确代码:

 

 

该作者还做了个尝试,因为如程序所示,通过switch( resultCode )已经有关于返回结果的删选,

这个if ( resultCode == RESULT_OK )是不是可以去掉?试一下,去调后也是可以正常显示图片的。

 

转载于:https://www.cnblogs.com/lyj0123/p/9684898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值