当我的应用程序也运行时,如何创建其他应用程序也使用相机的相机对象?

时间:2014-01-07 10:49:28

标签: android camera android-camera live-wallpaper wallpaper

我正在做一个与动态壁纸相关的项目,在那个相机被设置为壁纸,所以在我的应用程序相机连续运行,如果用户将相机设置为壁纸,打开相机后它将显示相机无法加载错误, 所以,我使用以下代码来避免此错误:

public void onVisibilityChanged(boolean visible) {
          if (visible){
            try {   
                    mCamera.reconnect();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
        else{
            try {
                mCamera.unlock();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

 }

但是我的问题是无法将相机对象解锁到使用相机的其他应用程序。

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

2 个答案:

答案 0 :(得分:0)

您无法访问本机相机应用或其他应用使用的对象来访问相机。创建mCamera时,您正在创建自己的应用程序使用的对象。一次只有一个对象可以访问特定的摄像机资源,并且您无法控制访问该摄像机资源的其他应用程序的其他对象。

如果您想避免无法加载错误,则需要先释放相机对象,然后才能打开另一个使用相机资源的应用。但后来我认为你的主要目标不会实现。

答案 1 :(得分:0)

我使用相同的方法进行小修改来解决问题,我在代码中进行了以下更改

public void onVisibilityChanged(boolean visible) {
        // TODO Auto-generated method stub
        super.onVisibilityChanged(visible);
        if (visible) {
            try {
                "open camera object"
            }catch (Exception e) {
                    e.printStackTrace();
            }
        }else {
            try {
                 "release the camera object"
            }catch (RuntimeException e) {
                 e.printStackTrace();
            }
        }
    }