SHARP Androidアプリ開発 テクニカルセッション 名古屋に参加してシャープさんのカメラ担当者さんを質問攻めにしながらFacetterのサブカメラ(インカメラ)対応を行ったので、情報共有します。
マニフェストファイル
共有ライブラリを使うので、マニフェストファイルの
<uses-library android:name="jp.co.sharp.android.hardware" />
カメラを使うので、以下の
<uses-permission android:name="android.permission.CAMERA" />
リファレンス
サブカメラを使うためのCameraExクラスのリファレンスはこちら
https://sh-dev.sharp.co.jp/android/reference/r329d/index.html?jp/co/sharp/android/hardware/CameraEx.html
サブカメラの使い方
Camera camera = CameraEx.open(CameraEx.CAMERA_POSITION_SUB);
CameraExクラスのopenメソッドにCameraEx.CAMERA_POSITION_SUBを指定してCameraオブジェクトを取得します。open()の返り値の型が標準のCamera型なので、open()以降の処理は通常のCameraクラスの使い方と同様です。いつも通りに扱えます。
Facetter Cameraでもopen()を変更するだけで、正常に動作しました。
アプリ配布時の注意点
"jp.co.sharp.android.hardware"という共有ライブラリを使うので、このライブラリが存在しない端末にはインストール時に以下のエラーが発生して、インストールできません。
[2010-07-25 21:50:30 - Facetter] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
なので、シャープ端末とその他の端末でアプリを分けて配布する必要があります。
OSXでデバイスを認識しない場合
1. ~/.android/adb_usb.ini に以下を追記します。
0x04dd
2. adb を再起動します。
3. adb devices で確認できたらOK!