【第一行代码Android 第2版】8.3.2 从相册中选择照片,实例代码补充说明

目录

无法读取相册权限

选择相册照片后无法显示出来

写在最后的话


无法读取相册权限

         这里照着书上的代码敲完后,会提示"You denied the permission",使用debug去调试程序的话会发现grantResults.length = -1,grantResults[0] = -1这意味着我们获取权限失败了。我来回扫了好几遍代码,都没发现那里有错误,萌新的我肯定有点难受了。经过一系列的百度和询问得知需要在AndroidManifest.xml文件中添加上


然后运行就可以成功获得权限。

其实我们的作者郭霖大神已经在前面8.3.1章节的末尾有提到需要添加这个权限,但是它说的是Android4.4之前,我们下意识的忽视了它,但是现在的手机依然需要这个权限。

 

选择相册照片后无法显示出来

           这里真的是个大坑,如果不是有位大佬给予我他当时的源代码,我估计爬不起了。忧伤~~,OK,现在来说说这个坑在哪里。

           还记得我在8.3.1章节提到如何解决super.onActivityResult的办法了吗?这里不适用了,我们不能调用他的super,也不能忽视它(提一句,也许可以忽视,有空的小伙伴可以去尝试下,在下方留言。),我们需要去build.gradle中修改下面的内容,之前我的版本是1.1.0,降低版本后才能使用onActivityResult的第二种方法(不调用super)。

           做了这个修改后,如果你十分确定你的代码没有错误的话应该可以成功运行。

【第一行代码Android 第2版】8.3.2 从相册中选择照片,实例代码补充说明_第1张图片

 

写在最后的话

      在修改相册显示图片的时候,我AndroidManifest.xml、activity_main.xml、MainActivity.java都有进行修改,但我认为起到关键作用的是我上面记录的那一点,但如果你按照我说的修改后还不行的话,请给予我留言,我会及时回复你,一起debug,解决对应的问题。

        

你可能感兴趣的:(Android开发)