出门莫恨无人随,书中车马多如簇。这篇文章主要讲述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 )是不是可以去掉?试一下,去调后也是可以正常显示图片的。
【Android_5_学习《第一行代码》的使用摄像头和相册无法显示图片问题解决】
推荐阅读
- android java层实现hook替换method
- Linux最佳免费音乐创作工具有哪些(哪个最好用?)
- 10个最佳Android排版应用软件下载合集(用于制作有效字体)
- Android和iPhone的10大最佳植物识别应用软件下载推荐合集
- Mac最佳免费GIF制作应用软件下载推荐合集(你需要哪个())
- Android和iOS的10大最佳夜视应用下载推荐合集(哪些最好玩())
- iOS和Android的12大最佳呼叫拦截器应用软件推荐合集
- 10款最佳速读软件下载推荐合集(帮助你快速提升阅读速度)
- 6款Windows最佳任务计划软件下载推荐合集(你需要哪个())