同时使用相同的 activity 两次
Use same activity twice at the same time
我正在使用 Appcelerator Studio,我的项目有 2 个不同的模块,但它们共享相同的 android 权限(在 tiapp.xml 定义),一个用于将相机嵌入 UIView 中,另一个在手电筒模式下开启手电筒,都需要使用相机权限。
我认为在不更改模块本身的情况下没有解决方案,对吗?
这是我得到的日志:
[DEBUG] : CameraViewProxy: Camera not available
[ERROR] : CameraViewProxy: Camera is null. Make sure
[ERROR] : CameraViewProxy: <uses-permission android:name="android.permission.CAMERA" />
[ERROR] : CameraViewProxy: is in you tiapp.xml file.
依赖于此的问题:
相机是一个具有许多特征的复杂对象 -- 但每个相机都被 API 视为一个整体(即大多数设备恰好有两个相机对象。)
听起来您正在尝试使用程序一部分的一项功能(flash/torch LED),以及另一部分的另一项功能(拍照或至少预览)你的程序。
相机不是这样工作的。
当您成功调用 Camera camera = Camera.open();
方法时,您将拥有整个相机,直到您调用 camera.release();
任何其他对 Camera.open();
的调用都将失败,直到您释放相机。
因此您需要找到一种方法来在您的模块之间共享单个打开的 Camera 对象。
一个简单的方法是使用单例模式。 [还有其他选项,但它们往往更复杂。]
无论你做什么,你都需要确保如果你的应用程序不是 "on top" 你已经释放相机供其他应用程序使用。
我正在使用 Appcelerator Studio,我的项目有 2 个不同的模块,但它们共享相同的 android 权限(在 tiapp.xml 定义),一个用于将相机嵌入 UIView 中,另一个在手电筒模式下开启手电筒,都需要使用相机权限。
我认为在不更改模块本身的情况下没有解决方案,对吗?
这是我得到的日志:
[DEBUG] : CameraViewProxy: Camera not available
[ERROR] : CameraViewProxy: Camera is null. Make sure
[ERROR] : CameraViewProxy: <uses-permission android:name="android.permission.CAMERA" />
[ERROR] : CameraViewProxy: is in you tiapp.xml file.
依赖于此的问题:
相机是一个具有许多特征的复杂对象 -- 但每个相机都被 API 视为一个整体(即大多数设备恰好有两个相机对象。)
听起来您正在尝试使用程序一部分的一项功能(flash/torch LED),以及另一部分的另一项功能(拍照或至少预览)你的程序。
相机不是这样工作的。
当您成功调用 Camera camera = Camera.open();
方法时,您将拥有整个相机,直到您调用 camera.release();
任何其他对 Camera.open();
的调用都将失败,直到您释放相机。
因此您需要找到一种方法来在您的模块之间共享单个打开的 Camera 对象。
一个简单的方法是使用单例模式。 [还有其他选项,但它们往往更复杂。]
无论你做什么,你都需要确保如果你的应用程序不是 "on top" 你已经释放相机供其他应用程序使用。