更新:现在找到解决按home键再启动程序camera黑屏的方法了:需要将SurfaceView加载到FrameLayout中的代码写在onResume中

@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();if (camera == null){camera = getCameraInstance();}//必须放在onResume中,不然会出现Home键之后,再回到该APP,黑屏mySurfaceView = new MySurfaceView(getApplicationContext(), camera);FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);preview.addView(mySurfaceView);}

https://www.2cto.com/kf/201408/329957.html

MainActivity有一个按钮,点按钮进入到CameraActivity,CameraActivity里有一个Camera的预览,调用的系统相机。CameraActivity类implements了SurfaceHolder.Callback, Camera.PreviewCallback。现在的问题是在CameraActivity界面Camera正常预览时,点击手机home键后再点应用图标进入应用,Camera就黑屏了。点手机返回键返回MainActivity再进入CameraActivity时Camera预览就正常了。

开启camera预览的方法:

private void preview() throws IOException {if (hasFrontFacingCamera()) {//如果有前置摄像头camera = Camera.open(1);camera.setDisplayOrientation(90);} else {camera = Camera.open(0);camera.setDisplayOrientation(270);}Camera.Parameters params = camera.getParameters();List<Camera.Size> sizes = params.getSupportedPreviewSizes();Camera.Size selected = sizes.get(1);width = selected.width;height = selected.height;params.setPreviewSize(640, 480);
//        params.setPictureFormat(PixelFormat.RGB_565);
//        params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
//        params.setPreviewSize(width, height);camera.setParameters(params);camera.setPreviewDisplay(holder);camera.startPreview();}

这个问题貌似是因为按home键后Activity中的camera被release掉了,然后再点应用图标进入应用,camera没有启动。启动camera的方法preview()是写在了onCreate方法里。

刚开始想的是处理Activity的生命周期的方法,onPause时释放Camera,onRestart或onResume时调用preview()重新启动Camera。但是报错“app passed NULL surface”。查找了资料,看到这个博客Android调用相机预览黑屏app passed NULL surface解决,试了里面的方法,不起作用,报错。没能解决。放弃。

后来又试了在CameraActivity中屏蔽home键,这样就不能退回桌面了。自己写了onKeyDown方法屏蔽home键,发现不起作用。然后就上网搜屏蔽home键的方法,发现网上说的方法都无效,包括所谓的4.0以后能用的方法,包括GitHub上别人提供的第三方工具。据说谷歌为了安全,把屏蔽home键的方法写在了framework层而不再是application层,除非修改framework层的代码,否则屏蔽不了home键。搜了很多资料,发现这个有一点道理:Android 开发锁屏屏蔽Home键、原生锁屏界面,但是没源码,这个功能对我来说又不是必须的,就没好好搞。

再后来,想了个偷懒的办法。因为在我们这个APP中,CameraActivity界面中按home键基本是不会有的操作,属于非正常操作,所以我就想如果按了home键,那就把当前页销毁,返回上一页面,重新进入CameraActivity。于是在当前页失去焦点时finnish掉当前页。

@Overrideprotected void onPause() {super.onPause();finish();}

经测试,可以使用。

类似博客:Android 休眠状态对Camera预览的影响

android按home键再启动程序camera黑屏屏蔽home键相关推荐

  1. 电脑黑屏按什么键恢复?只需要3个键就可以解决黑屏

    今天和大家聊一聊电脑黑屏这个问题.相信大家都遇到过电脑黑屏,但是却不知道该如何解决,今天就来给大家分享一些处理方法.如果是电脑黑屏的话,一般情况下,只需要三个键就可以解决问题,电脑黑屏按什么键恢复?一 ...

  2. 电脑版微信聊天记录和小程序视频播放黑屏,但有声音,qq和其浏览器视频播放正常。如何解决?

    问题描述: 电脑版微信聊天记录和小程序视频播放黑屏,但有声音,而且截屏时会先显现出画面: qq和其浏览器视频播放正常. 原因:显卡驱动出错 解决办法:更新显卡驱动或者卸载重新安装显卡驱动 注意:我遇到 ...

  3. 解决CUDA程序的黑屏恢复问题

    解决CUDA程序的黑屏恢复问题 参考文章: (1)解决CUDA程序的黑屏恢复问题 (2)https://www.cnblogs.com/javado/p/5559921.html 备忘一下.

  4. excel换行按什么键_电脑黑屏按什么键恢复 电脑黑屏的原因和恢复方法

    电脑黑屏是日常生活中常见的故障,如果遇到黑屏的情况,可能会有以下几种可能: 一.电脑部件没有安插好 如果发现电脑黑屏,一定要检查一下电脑部件是否安插好,是否接入到主机接口,检查一下显卡与主板I/O插槽 ...

  5. Win7电脑黑屏按什么键恢复

    我们在使用win7操作系统的时候,有的情况下可能会出现电脑黑屏的情况,那么对于这个问题该如何解决呢?又或者说可以按什么键恢复呢?下面来看看win7系统电脑黑屏按哪三个键就能解决. Ghost Win7 ...

  6. Android M系统无响应一直卡住黑屏

    问题描述 在设置中操作,语音助手调用AudioRecord某个方法,出现无响应,按等待或确定后均进入黑屏无法恢复 背景知识 Android M上audio.video.camera都在mediaser ...

  7. android 6 videoview,Android VideoView错误(1,16)并显示黑屏

    我有一个带有VideoView的应用程序,它从内部存储器播放mp4文件(我的包文件目录) 在一些三星Epic Touch 4g(Galaxy SII)设备上,而不是显示的视频,屏幕是完全黑色的.我的应 ...

  8. 如何解决计算机黑屏问题,电脑黑屏怎么处理(三个键教您解决黑屏问题)

    电脑黑屏按下的三[文]个键是Ctrl+[章]Alt+Dele[来]te.一般都能正[自]常打开电脑,这是[小]可以直接快速进入[兵]电脑的功能! 电脑黑屏了可以按Ctrl+Alt+Delete三个键, ...

  9. C语言程序运行黑屏,Win7开机黑屏代码0XC000000F的原因及解决方法

    原标题:Win7开机黑屏代码0XC000000F的原因及解决方法 Win7开机黑屏出现0XC000000F代码是怎么回事?最近有用户朋友的电脑开机就遇到了这个问题,向云骑士求助.今天云骑士把解决该问题 ...

最新文章

  1. cannot import name 'etree' from 'lxml'
  2. SQL字符串处理函数大全
  3. P2679-子串【dp】
  4. 配置linux系统ip,Linux系统IP地址配置
  5. 推荐系统最新研究进展
  6. NSURLProtocol 拦截 NSURLSession 请求时body丢失问题解决方案探讨
  7. 华为云技术开放日(第三季)话题介绍和直播群入口
  8. Spring -- 入门,装备集合,自动装配,分散装配,自定义编辑器
  9. bootstrap课程4 bootstrap的css样式有哪些内容需要注意
  10. warning: malformed '#pragma pack(pop[, id])' - ignored
  11. 服务器各项指标的图形化显示
  12. 437.路径总和III (力扣leetcode) 博主可答疑该问题
  13. 教你在官网如何下载jdk
  14. pygame详细安装教程
  15. 【HUSTOJ】1048: 字符图形4-星号正三角
  16. 常用照片尺寸与像素对照表
  17. SPFA算法模板(刘汝佳版)--Wormholes POJ - 3259
  18. 视频演示 | 功能新增 | 增强版在线LEFSe分析和可视化鉴定标志性基因或物种
  19. 软件建模与分析--共享单车管理系统
  20. 特朗普对五角大楼云计算合同表示担忧

热门文章

  1. Closing non transactional SqlSession导致spring事务不生效
  2. 最完整的Vue教程-从零开始编写可视化大屏
  3. java基因序列个数_Java语言 DNY基因序列所含GC最多的子串
  4. BootstrapVue 入门
  5. python 模拟 GPS, $GPRMC $GPRMC
  6. 2019年天梯赛练习赛5
  7. 马云告诉你在农村做什么赚钱
  8. Tabulator v5.1.0 新特性分页计数器及PHP AJAX 服务器端分页示例
  9. 2007年在职攻读硕士学位全国联考答案
  10. 机器学习(五)支持向量机