Android 同时进行两次相同的活动
我使用的是Appcelerator Studio,我的项目有两个不同的模块,但它们共享相同的android权限(在tiapp.xml中定义),一个用于将摄像头嵌入UIView,另一个用于在Torch模式下启用手电筒,两者都需要使用摄像头权限 我不认为在不改变模块本身的情况下有解决方案,对吗 这是我得到的日志:Android 同时进行两次相同的活动,android,android-activity,permissions,appcelerator,appcelerator-titanium,Android,Android Activity,Permissions,Appcelerator,Appcelerator Titanium,我使用的是Appcelerator Studio,我的项目有两个不同的模块,但它们共享相同的android权限(在tiapp.xml中定义),一个用于将摄像头嵌入UIView,另一个用于在Torch模式下启用手电筒,两者都需要使用摄像头权限 我不认为在不改变模块本身的情况下有解决方案,对吗 这是我得到的日志: [DEBUG] : CameraViewProxy: Camera not available [ERROR] : CameraViewProxy: Camera is null. M
[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.
[DEBUG]:CameraViewProxy:摄像机不可用
[错误]:CameraViewProxy:相机为空。确保
[错误]:CameraViewProxy:
[错误]:CameraViewProxy:位于tiapp.xml文件中。
取决于此的问题是:
摄像头是一个具有许多功能的复杂对象,但每个摄像头都被API视为一个整体(即大多数设备正好有两个摄像头对象) 听起来好像您正试图使用程序一部分的其中一项功能(闪光灯/手电筒LED),以及程序另一部分的另一项功能(拍照或至少预览) 照相机不是那样工作的 调用
Camera-Camera=Camera.open()时
method成功,在调用camera.release()之前,您拥有整个摄像头代码>对Camera.open()的任何其他调用代码>将失败,直到您释放相机
因此,您需要找到一种方法在模块之间共享单个打开的摄影机对象
一个简单的方法是使用单例模式。[还有其他选择,但它们往往更复杂。]
无论您做什么,您都需要确保,如果您的应用程序不在“顶部”,您已经释放了摄像头供其他应用程序使用。摄像头是一个具有许多功能的复杂对象,但每个摄像头都被API视为一个整体(即大多数设备正好有两个摄像头对象)
听起来好像您正试图使用程序一部分的其中一项功能(闪光灯/手电筒LED),以及程序另一部分的另一项功能(拍照或至少预览)
照相机不是那样工作的
调用Camera-Camera=Camera.open()时
method成功,在调用camera.release()之前,您拥有整个摄像头代码>对Camera.open()的任何其他调用代码>将失败,直到您释放相机
因此,您需要找到一种方法在模块之间共享单个打开的摄影机对象
一个简单的方法是使用单例模式。[还有其他选择,但它们往往更复杂。]
无论您做什么,您都需要确保,如果您的应用程序不在“顶部”,您已经释放了摄像头供其他应用程序使用。我甚至无法理解问题是关于什么的。我正在使用Appcelerator。我已经更新了问题,我认为您不能在模块之间共享清单。也许Appcelerator是不同的,每个模块都有自己的清单,但清单放在主配置文件(tiapp.xml)中。这里发生的事情是,这两个模块同时使用android摄像头硬件和surface view,我甚至不明白问题是关于什么的。我使用的是Appcelerator。我已经更新了问题,我认为您不能在模块之间共享清单。也许Appcelerator是不同的,每个模块都有自己的清单,但清单放在主配置文件(tiapp.xml)中。这里发生的事情是,两个模块同时使用android摄像头硬件和surface view谢谢,这就是我的想法,我编辑了一个钛模块并添加了我需要的功能,但是当我尝试创建一个模块包时,它抛出了这个错误:调试UI中的错误:java.lang.reflect.InvocationTargetException。我在这里提出了一个问题:谢谢,这就是我的想法,我编辑了一个钛模块并添加了我需要的功能,但是当我尝试创建一个模块包时,它抛出了以下错误:调试UI中的错误:java.lang.reflect.InvocationTargetException。我在这里提出了一个问题: