Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 同时进行两次相同的活动_Android_Android Activity_Permissions_Appcelerator_Appcelerator Titanium - Fatal编程技术网

Android 同时进行两次相同的活动

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

我使用的是Appcelerator Studio,我的项目有两个不同的模块,但它们共享相同的android权限(在tiapp.xml中定义),一个用于将摄像头嵌入UIView,另一个用于在Torch模式下启用手电筒,两者都需要使用摄像头权限

我不认为在不改变模块本身的情况下有解决方案,对吗

这是我得到的日志:

[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。我在这里提出了一个问题: