最近做项目用到相机功能,测试过不少第三方框架,但是基本上都是有一个共性,那就是第一次获取相机权限成功,但是仍旧黑屏,无法显示相机视图,然而第二次进来,一切正常!!!
解决方案
- 在 A 页面获取权限,获取成功后,跳转到 B 页面进行相机打开操作
- 默认将相机视图设置为 GONE,等到获取权限成功后,再设置为 VISIBLE
- java 代码为:
view.setVisibility(View.VISIBLE);
- xml 代码为:
android:visibility="visible"
- 将相机视图使用
ViewStub
标签进行懒加载操作,等获取权限成功后,再加载出来。