我正在做一个与动态壁纸相关的项目,在那个相机被设置为壁纸,所以在我的应用程序相机连续运行,如果用户将相机设置为壁纸,打开相机后它将显示相机无法加载错误, 所以,我使用以下代码来避免此错误:
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();
}
}
}
但是我的问题是无法将相机对象解锁到使用相机的其他应用程序。
任何人都可以告诉我该怎么做?
答案 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();
}
}
}