如何在android中使用已打开的Camera对象? [英] How to use already open Camera object in android?

查看:338
本文介绍了如何在android中使用已打开的Camera对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个与livewallpaper相关的项目,我的应用程序要求是当用户点击按钮相机预览设置为壁纸时。我正在做所有这些,但问题是在将相机预览设置为壁纸后,当试图打开相机时,它显示相机失败,我知道我们一次只创建一个相机对象,但问题是如何释放相机用户在其他应用程序中使用相机以及如何在用户动态关闭相机应用程序后在壁纸中启动相机预览。

任何人都可以告诉我该怎么做?



推荐答案

当您启动另一个活动时,您之前的活动将暂停。将触发onPause()方法。所以你应该做什么:

When you start another Activity, your previous Activity will be paused. The onPause() method will be triggered. so what you should do:
@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		if (camera != null) {
			camera.stopPreview();
			camera.release();
			camera = null;
		}
	}


使用Engine类中的OnVisbilityChange()释放相机并启动相机。





@Override

use the OnVisbilityChange() in Engine class to release the camera and start the camera.


@Override
public void onVisibilityChanged(boolean visible) {
    // TODO Auto-generated method stub
    super.onVisibilityChanged(visible);
    if (visible) {
        try {
            //open the camera obj
        }catch(Exception e){
            e.printStackTrace();
        }

    }
    else {
        try {
            //release the camera obj
        }catch (RuntimeException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


这篇关于如何在android中使用已打开的Camera对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆