可以看到上面启动Camera摄像的代码与拍照的代码几乎完全一样,具体解释参见对拍照代码的描述。在该示例代码中,我们通过MediaStore.EXTRA_OUTPUT设置了视频的存放路径,拍照的时候我们也通过它设置了照片的输出路径,但是二者稍有区别:
- 1. 对于拍照,设置了MediaStore.EXTRA_OUTPUT之后,onActivityResult中的Intent参数是null,不能从Intent中得知照片的存储路径。
-
2. 对于摄像,设置了MediaStore.EXTRA_OUTPUT之后,onActivityResult中的Intent参数在有的手机上是null,但是在有的手机上不是null,我的手机小米1s得到的intent对象就不是null,所以此处很奇怪。如果intent不是null,可以通过intent.getData()获取到视频文件的存储路径,但是由于intent是否为null不确定,所以尽量不要通过intent.getData()方法获取其路径,而应该自己在Activity中存储一个字段保存我们之前设置的文件路径,这样就没问题了。
以上就是关于Android中常见Intent习惯用法,希望对大家的学习有所帮助。
附源码: 《Android中Intent习惯用法》
注:相关教程知识阅读请移步到Android开发频道。










