-1

私はAppcelerator Studioを使用しています。プロジェクトには2つのモジュールがありますが、それらは同じアンドロイド権限(tiapp.xmlで定義されています)を共有しています。トーチモードで懐中電灯を使用可能にするには、両方ともカメラの許可を使用する必要があります。同じアクティビティを同時に2回使用する

モジュール自体を変更せずに解決策があるとは思いませんか?

これは私が取得していたログです:

[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. 

をこの問題に依存します:

LED & Camera always ON

+0

私は質問が何であるか理解できませんでした。 – Rohit5k2

+0

私はAppceleratorを使用しています。私は質問を更新しました –

+0

モジュール間でマニフェストを共有することはできません。しかし、Appceleratorは違うかもしれません。 –

答えて

2

カメラは多くの機能を持つ複雑なオブジェクトである - が、それぞれカメラはAPIによって全体として扱われます(ほとんどのデバイスには正確に2つのCameraオブジェクトがあります)。

tのいずれかを使用しようとしているようです彼はあなたのプログラムのある部分からの機能(フラッシュ/トーチLED)と、プログラムの別の部分からの別の機能(写真を撮るか、少なくともプレビュー)を提供します。

カメラがそのように動作しません。

Camera camera = Camera.open();メソッドを正常に呼び出すと、camera.release();に電話するまでカメラ全体が所有されます。Camera.open();への他の呼び出しは、カメラを離すまで失敗します。

したがって、モジュール間で開いた単一のCameraオブジェクトを共有する方法を見つける必要があります。

単純なアプローチは、シングルトンパターンを使用することです。 [他にもオプションがありますが、より複雑になる傾向があります。]

アプリケーションが「最上位」でない場合は、他のアプリケーションで使用するためにカメラをリリースする必要があります。

+0

おかげされ、私はあなたに何を教えているのですか?私はチタンモジュールを編集して、必要な機能を追加しました。モジュールパッケージは、このエラーをスローします。Debug UI内のエラー:java.lang.reflect.InvocationTargetException。私はここでそれについての質問を作成しました:https://stackoverflow.com/questions/37057251/cant-package-a-titanium-modude –

関連する問題